{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {
    "colab_type": "text",
    "id": "Jxv6goXm7oGF"
   },
   "source": [
    "##### Copyright 2018 The TensorFlow Authors.\n",
    "\n",
    "Licensed under the Apache License, Version 2.0 (the \"License\");"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "collapsed": true,
    "id": "llMNufAK7nfK"
   },
   "outputs": [],
   "source": [
    "#@title Licensed under the Apache License, Version 2.0 (the \"License\"); { display-mode: \"form\" }\n",
    "# you may not use this file except in compliance with the License.\n",
    "# You may obtain a copy of the License at\n",
    "#\n",
    "# https://www.apache.org/licenses/LICENSE-2.0\n",
    "#\n",
    "# Unless required by applicable law or agreed to in writing, software\n",
    "# distributed under the License is distributed on an \"AS IS\" BASIS,\n",
    "# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n",
    "# See the License for the specific language governing permissions and\n",
    "# limitations under the License."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "colab_type": "text",
    "id": "8Byow2J6LaPl"
   },
   "source": [
    "# tf.data: Build TensorFlow input pipelines"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "colab_type": "text",
    "id": "kGXS3UWBBNoc"
   },
   "source": [
    "<table class=\"tfo-notebook-buttons\" align=\"left\">\n",
    "  <td>\n",
    "    <a target=\"_blank\" href=\"https://www.tensorflow.org/guide/data\"><img src=\"https://www.tensorflow.org/images/tf_logo_32px.png\" />View on TensorFlow.org</a>\n",
    "  </td>\n",
    "  <td>\n",
    "    <a target=\"_blank\" href=\"https://colab.research.google.com/github/tensorflow/docs/blob/master/site/en/guide/data.ipynb\"><img src=\"https://www.tensorflow.org/images/colab_logo_32px.png\" />Run in Google Colab</a>\n",
    "  </td>\n",
    "  <td>\n",
    "    <a target=\"_blank\" href=\"https://github.com/tensorflow/docs/blob/master/site/en/guide/data.ipynb\"><img src=\"https://www.tensorflow.org/images/GitHub-Mark-32px.png\" />View source on GitHub</a>\n",
    "  </td>\n",
    "  <td>\n",
    "    <a href=\"https://storage.googleapis.com/tensorflow_docs/docs/site/en/guide/data.ipynb\"><img src=\"https://www.tensorflow.org/images/download_logo_32px.png\" />Download notebook</a>\n",
    "  </td>\n",
    "</table>"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "colab_type": "text",
    "id": "9Qo3HgDjbDcI"
   },
   "source": [
    "\n",
    "\n",
    "The `tf.data` API enables you to build complex input pipelines from simple,\n",
    "reusable pieces. For example, the pipeline for an image model might aggregate\n",
    "data from files in a distributed file system, apply random perturbations to each\n",
    "image, and merge randomly selected images into a batch for training. The\n",
    "pipeline for a text model might involve extracting symbols from raw text data,\n",
    "converting them to embedding identifiers with a lookup table, and batching\n",
    "together sequences of different lengths. The `tf.data` API makes it possible to\n",
    "handle large amounts of data, read from different data formats, and perform\n",
    "complex transformations.\n",
    "\n",
    "The `tf.data` API introduces a `tf.data.Dataset` abstraction that represents a\n",
    "sequence of elements, in which each element consists of one or more components.\n",
    "For example, in an image pipeline, an element might be a single training\n",
    "example, with a pair of tensor components representing the image and its label.\n",
    "\n",
    "There are two distinct ways to create a dataset:\n",
    "\n",
    "*   A data **source** constructs a `Dataset` from data stored in memory or in\n",
    "    one or more files.\n",
    "\n",
    "*   A data **transformation** constructs a dataset from one or more\n",
    "    `tf.data.Dataset` objects.\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "collapsed": true,
    "id": "SwS0yboeseZs"
   },
   "outputs": [],
   "source": [
    "from __future__ import absolute_import, division, print_function, unicode_literals"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "id": "UJIEjEIBdf-h"
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "ERROR:root:Line magic function `%tensorflow_version` not found.\n"
     ]
    }
   ],
   "source": [
    "try:\n",
    "  %tensorflow_version 2.x\n",
    "except Exception:\n",
    "  pass\n",
    "import tensorflow as tf"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "collapsed": true,
    "id": "7Y0JtWBNR9E5"
   },
   "outputs": [],
   "source": [
    "import pathlib\n",
    "import matplotlib.pyplot as plt\n",
    "import pandas as pd\n",
    "import numpy as np\n",
    "\n",
    "np.set_printoptions(precision=4)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "colab_type": "text",
    "id": "0l4a0ALxdaWF"
   },
   "source": [
    "## Basic mechanics\n",
    "<a id=\"basic-mechanics\"/>\n",
    "\n",
    "To create an input pipeline, you must start with a data *source*. For example,\n",
    "to construct a `Dataset` from data in memory, you can use\n",
    "`tf.data.Dataset.from_tensors()` or `tf.data.Dataset.from_tensor_slices()`.\n",
    "Alternatively, if your input data is stored in a file in the recommended\n",
    "TFRecord format, you can use `tf.data.TFRecordDataset()`.\n",
    "\n",
    "Once you have a `Dataset` object, you can *transform* it into a new `Dataset` by\n",
    "chaining method calls on the `tf.data.Dataset` object. For example, you can\n",
    "apply per-element transformations such as `Dataset.map()`, and multi-element\n",
    "transformations such as `Dataset.batch()`. See the documentation for\n",
    "`tf.data.Dataset` for a complete list of transformations.\n",
    "\n",
    "The `Dataset` object is a Python iterable. This makes it possible to consume its\n",
    "elements using a for loop:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "id": "0F-FDnjB6t6J"
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<TensorSliceDataset shapes: (), types: tf.int32>"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "dataset = tf.data.Dataset.from_tensor_slices([8, 3, 0, 8, 2, 1])\n",
    "dataset"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "id": "pwJsRJ-FbDcJ"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "8\n",
      "3\n",
      "0\n",
      "8\n",
      "2\n",
      "1\n"
     ]
    }
   ],
   "source": [
    "for elem in dataset:\n",
    "  print(elem.numpy())"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "colab_type": "text",
    "id": "m0yy80MobDcM"
   },
   "source": [
    "Or by explicitly creating a Python iterator using `iter` and consuming its\n",
    "elements using `next`:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "id": "03w9oxFfbDcM"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "8\n"
     ]
    }
   ],
   "source": [
    "it = iter(dataset)\n",
    "\n",
    "print(next(it).numpy())"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "colab_type": "text",
    "id": "Q4CgCL8qbDcO"
   },
   "source": [
    "Alternatively, dataset elements can be consumed using the `reduce`\n",
    "transformation, which reduces all elements to produce a single result. The\n",
    "following example illustrates how to use the `reduce` transformation to compute\n",
    "the sum of a dataset of integers."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "id": "C2bHAeNxbDcO"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "22\n"
     ]
    }
   ],
   "source": [
    "print(dataset.reduce(0, lambda state, value: state + value).numpy())"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "colab_type": "text",
    "id": "B2Fzwt2nbDcR"
   },
   "source": [
    "<!-- TODO(jsimsa): Talk about `tf.function` support. -->\n",
    "\n",
    "<a id=\"dataset_structure\"></a>\n",
    "### Dataset structure\n",
    "\n",
    "A dataset contains elements that each have the same (nested) structure and the\n",
    "individual components of the structure can be of any type representable by\n",
    "`tf.TypeSpec`, including `Tensor`, `SparseTensor`, `RaggedTensor`,\n",
    "`TensorArray`, or `Dataset`.\n",
    "\n",
    "The `Dataset.element_spec` property allows you to inspect the type of each\n",
    "element component. The property returns a *nested structure* of `tf.TypeSpec`\n",
    "objects, matching the structure of the element, which may be a single component,\n",
    "a tuple of components, or a nested tuple of components. For example:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "id": "Mg0m1beIhXGn"
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "TensorSpec(shape=(10,), dtype=tf.float32, name=None)"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "dataset1 = tf.data.Dataset.from_tensor_slices(tf.random.uniform([4, 10]))\n",
    "\n",
    "dataset1.element_spec"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "id": "cwyemaghhXaG"
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(TensorSpec(shape=(), dtype=tf.float32, name=None),\n",
       " TensorSpec(shape=(100,), dtype=tf.int32, name=None))"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "dataset2 = tf.data.Dataset.from_tensor_slices(\n",
    "   (tf.random.uniform([4]),\n",
    "    tf.random.uniform([4, 100], maxval=100, dtype=tf.int32)))\n",
    "\n",
    "dataset2.element_spec"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "id": "1CL7aB0ahXn_"
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(TensorSpec(shape=(10,), dtype=tf.float32, name=None),\n",
       " (TensorSpec(shape=(), dtype=tf.float32, name=None),\n",
       "  TensorSpec(shape=(100,), dtype=tf.int32, name=None)))"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "dataset3 = tf.data.Dataset.zip((dataset1, dataset2))\n",
    "\n",
    "dataset3.element_spec"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "id": "m5bz7R1xhX1f"
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "SparseTensorSpec(TensorShape([3, 4]), tf.int32)"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Dataset containing a sparse tensor.\n",
    "dataset4 = tf.data.Dataset.from_tensors(tf.SparseTensor(indices=[[0, 0], [1, 2]], values=[1, 2], dense_shape=[3, 4]))\n",
    "\n",
    "dataset4.element_spec"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "id": "lVOPHur_hYQv"
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "tensorflow.python.framework.sparse_tensor.SparseTensor"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Use value_type to see the type of value represented by the element spec\n",
    "dataset4.element_spec.value_type"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "colab_type": "text",
    "id": "r5xNsFFvhUnr"
   },
   "source": [
    "The `Dataset` transformations support datasets of any structure. When using the\n",
    "`Dataset.map()`, and `Dataset.filter()` transformations,\n",
    "which apply a function to each element, the element structure determines the\n",
    "arguments of the function:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "id": "2myAr3Pxd-zF"
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<TensorSliceDataset shapes: (10,), types: tf.int32>"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "dataset1 = tf.data.Dataset.from_tensor_slices(\n",
    "    tf.random.uniform([4, 10], minval=1, maxval=10, dtype=tf.int32))\n",
    "\n",
    "dataset1"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "id": "woPXMP14gUTg"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[3 6 3 9 3 5 2 2 1 2]\n",
      "[2 2 8 4 1 7 4 6 7 1]\n",
      "[8 5 3 6 4 9 8 2 3 3]\n",
      "[9 6 1 2 9 8 5 9 6 8]\n"
     ]
    }
   ],
   "source": [
    "for z in dataset1:\n",
    "  print(z.numpy())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "id": "53PA4x6XgLar"
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<TensorSliceDataset shapes: ((), (100,)), types: (tf.float32, tf.int32)>"
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "dataset2 = tf.data.Dataset.from_tensor_slices(\n",
    "   (tf.random.uniform([4]),\n",
    "    tf.random.uniform([4, 100], maxval=100, dtype=tf.int32)))\n",
    "\n",
    "dataset2"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "id": "2ju4sNSebDcR"
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<ZipDataset shapes: ((10,), ((), (100,))), types: (tf.int32, (tf.float32, tf.int32))>"
      ]
     },
     "execution_count": 17,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "dataset3 = tf.data.Dataset.zip((dataset1, dataset2))\n",
    "\n",
    "dataset3"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "id": "BgxsfAS2g6gk"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "shapes: (10,), (), (100,)\n",
      "shapes: (10,), (), (100,)\n",
      "shapes: (10,), (), (100,)\n",
      "shapes: (10,), (), (100,)\n"
     ]
    }
   ],
   "source": [
    "for a, (b,c) in dataset3:\n",
    "  print('shapes: {a.shape}, {b.shape}, {c.shape}'.format(a=a, b=b, c=c))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "colab_type": "text",
    "id": "M1s2K0g-bDcT"
   },
   "source": [
    "## Reading input data\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "colab_type": "text",
    "id": "F3JG2f0h2683"
   },
   "source": [
    "### Consuming NumPy arrays\n",
    "\n",
    "See [Loading NumPy arrays](../tutorials/load_data/numpy.ipynb) for more examples.\n",
    "\n",
    "If all of your input data fits in memory, the simplest way to create a `Dataset`\n",
    "from them is to convert them to `tf.Tensor` objects and use\n",
    "`Dataset.from_tensor_slices()`."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "id": "NmaE6PjjhQ47"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Downloading data from https://storage.googleapis.com/tensorflow/tf-keras-datasets/train-labels-idx1-ubyte.gz\n",
      "32768/29515 [=================================] - 0s 3us/step\n",
      "Downloading data from https://storage.googleapis.com/tensorflow/tf-keras-datasets/train-images-idx3-ubyte.gz\n",
      "26427392/26421880 [==============================] - 5s 0us/step\n",
      "Downloading data from https://storage.googleapis.com/tensorflow/tf-keras-datasets/t10k-labels-idx1-ubyte.gz\n",
      "8192/5148 [===============================================] - 0s 1us/step\n",
      "Downloading data from https://storage.googleapis.com/tensorflow/tf-keras-datasets/t10k-images-idx3-ubyte.gz\n",
      "4423680/4422102 [==============================] - 2s 0us/step\n"
     ]
    }
   ],
   "source": [
    "train, test = tf.keras.datasets.fashion_mnist.load_data()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "id": "J6cNiuDBbDcU"
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<TensorSliceDataset shapes: ((28, 28), ()), types: (tf.float64, tf.uint8)>"
      ]
     },
     "execution_count": 20,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "images, labels = train\n",
    "images = images/255\n",
    "\n",
    "dataset = tf.data.Dataset.from_tensor_slices((images, labels))\n",
    "dataset"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "colab_type": "text",
    "id": "XkwrDHN5bDcW"
   },
   "source": [
    "Note: The above code snippet will embed the `features` and `labels` arrays\n",
    "in your TensorFlow graph as `tf.constant()` operations. This works well for a\n",
    "small dataset, but wastes memory---because the contents of the array will be\n",
    "copied multiple times---and can run into the 2GB limit for the `tf.GraphDef`\n",
    "protocol buffer."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "colab_type": "text",
    "id": "pO4ua2gEmIhR"
   },
   "source": [
    "### Consuming Python generators\n",
    "\n",
    "Another common data source that can easily be ingested as a `tf.data.Dataset` is the python generator.\n",
    "\n",
    "Caution: While this is a convienient approach it has limited portability and scalibility. It must run in the same python process that created the generator, and is still subject to the Python [GIL](https://en.wikipedia.org/wiki/Global_interpreter_lock)."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "collapsed": true,
    "id": "9njpME-jmDza"
   },
   "outputs": [],
   "source": [
    "def count(stop):\n",
    "  i = 0\n",
    "  while i<stop:\n",
    "    yield i\n",
    "    i += 1"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "id": "xwqLrjnTpD8Y"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "0\n",
      "1\n",
      "2\n",
      "3\n",
      "4\n"
     ]
    }
   ],
   "source": [
    "for n in count(5):\n",
    "  print(n)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "colab_type": "text",
    "id": "D_BB_PhxnVVx"
   },
   "source": [
    "The `Dataset.from_generator` constructor converts the python generator to a fully functional `tf.data.Dataset`.\n",
    "\n",
    "The constructor takes a callable as input, not an iterator. This allows it to restart the generator when it reaches the end. It takes an optional `args` argument, which is passed as the callable's arguments.\n",
    "\n",
    "The `output_types` argument is required because `tf.data` builds a `tf.Graph` internally, and graph edges require a `tf.dtype`."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "collapsed": true,
    "id": "GFga_OTwm0Je"
   },
   "outputs": [],
   "source": [
    "ds_counter = tf.data.Dataset.from_generator(count, args=[25], output_types=tf.int32, output_shapes = (), )"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "id": "fel1SUuBnDUE"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[0 1 2 3 4 5 6 7 8 9]\n",
      "[10 11 12 13 14 15 16 17 18 19]\n",
      "[20 21 22 23 24  0  1  2  3  4]\n",
      "[ 5  6  7  8  9 10 11 12 13 14]\n",
      "[15 16 17 18 19 20 21 22 23 24]\n",
      "[0 1 2 3 4 5 6 7 8 9]\n",
      "[10 11 12 13 14 15 16 17 18 19]\n",
      "[20 21 22 23 24  0  1  2  3  4]\n",
      "[ 5  6  7  8  9 10 11 12 13 14]\n",
      "[15 16 17 18 19 20 21 22 23 24]\n"
     ]
    }
   ],
   "source": [
    "for count_batch in ds_counter.repeat().batch(10).take(10):\n",
    "  print(count_batch.numpy())"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "colab_type": "text",
    "id": "wxy9hDMTq1zD"
   },
   "source": [
    "The `output_shapes` argument is not *required* but is highly recomended as many tensorflow operations do not support tensors with unknown rank. If the length of a particular axis is unknown or variable, set it as `None` in the `output_shapes`.\n",
    "\n",
    "It's also important to note that the `output_shapes` and `output_types` follow the same nesting rules as other dataset methods.\n",
    "\n",
    "Here is an example generator that demonstrates both aspects, it returns tuples of arrays, where the second array is a vector with unknown length."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "collapsed": true,
    "id": "allFX1g8rGKe"
   },
   "outputs": [],
   "source": [
    "def gen_series():\n",
    "  i = 0\n",
    "  while True:\n",
    "    size = np.random.randint(0, 10)\n",
    "    yield i, np.random.normal(size=(size,))\n",
    "    i += 1"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "id": "6Ku26Yb9rcJX"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "0 : [-0.3642 -1.3214]\n",
      "1 : [ 0.4047 -0.4782 -0.2422  1.0127 -0.3904 -0.396  -0.2885  0.987 ]\n",
      "2 : []\n",
      "3 : [ 0.0559 -1.6578 -0.5074  0.088  -1.5099 -0.0064  2.4834  0.3663]\n",
      "4 : []\n",
      "5 : []\n",
      "6 : [-1.0344 -0.4784  0.5829 -0.3749  0.1721 -1.2938]\n"
     ]
    }
   ],
   "source": [
    "for i, series in gen_series():\n",
    "  print(i, \":\", str(series))\n",
    "  if i > 5:\n",
    "    break"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "colab_type": "text",
    "id": "LmkynGilx0qf"
   },
   "source": [
    "The first output is an `int32` the second is a `float32`.\n",
    "\n",
    "The first item is a scalar, shape `()`, and the second is a vector of unknown length, shape `(None,)` "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "id": "zDTfhEzhsliM"
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<DatasetV1Adapter shapes: ((), (None,)), types: (tf.int32, tf.float32)>"
      ]
     },
     "execution_count": 27,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "ds_series = tf.data.Dataset.from_generator(\n",
    "    gen_series, \n",
    "    output_types=(tf.int32, tf.float32), \n",
    "    output_shapes=((), (None,)))\n",
    "\n",
    "ds_series"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "colab_type": "text",
    "id": "WWxvSyQiyN0o"
   },
   "source": [
    "Now it can be used like a regular `tf.data.Dataset`. Note that when batching a dataset with a variable shape, you need to use `Dataset.padded_batch`."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "id": "A7jEpj3As1lO"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[17 10 16 19  1 12 14  9  3 20]\n",
      "\n",
      "[[-0.5753 -0.7752  0.      0.      0.      0.      0.      0.      0.    ]\n",
      " [-0.0171  0.2653 -0.135   0.2112  0.      0.      0.      0.      0.    ]\n",
      " [ 0.5466  1.1382  2.0237  0.      0.      0.      0.      0.      0.    ]\n",
      " [-0.2749 -0.8486  1.4402  0.      0.      0.      0.      0.      0.    ]\n",
      " [ 0.1955  0.      0.      0.      0.      0.      0.      0.      0.    ]\n",
      " [ 0.0823  1.0006 -1.5382  1.8604  0.2394  0.      0.      0.      0.    ]\n",
      " [ 0.5952 -0.2767  0.8884  0.0626 -1.5545 -1.5618 -1.0552 -1.2917  0.6255]\n",
      " [-1.0357  0.046  -0.2783  1.1024  0.      0.      0.      0.      0.    ]\n",
      " [-0.8511 -0.7779  0.2875  0.      0.      0.      0.      0.      0.    ]\n",
      " [-0.5249 -0.2682 -1.8494  1.288   0.7828  0.5152  0.      0.      0.    ]]\n"
     ]
    }
   ],
   "source": [
    "ds_series_batch = ds_series.shuffle(20).padded_batch(10, padded_shapes=([], [None]))\n",
    "\n",
    "ids, sequence_batch = next(iter(ds_series_batch))\n",
    "print(ids.numpy())\n",
    "print()\n",
    "print(sequence_batch.numpy())"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "colab_type": "text",
    "id": "_hcqOccJ1CxG"
   },
   "source": [
    "For a more realistic example, try wrapping `preprocessing.image.ImageDataGenerator` as a `tf.data.Dataset`.\n",
    "\n",
    "First download the data:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "id": "g-_JCFRQ1CXM"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Downloading data from https://storage.googleapis.com/download.tensorflow.org/example_images/flower_photos.tgz\n",
      "228818944/228813984 [==============================] - 71s 0us/step\n"
     ]
    }
   ],
   "source": [
    "flowers = tf.keras.utils.get_file(\n",
    "    'flower_photos',\n",
    "    'https://storage.googleapis.com/download.tensorflow.org/example_images/flower_photos.tgz',\n",
    "    untar=True)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "colab_type": "text",
    "id": "UIjPhvQ87jUT"
   },
   "source": [
    "Create the `image.ImageDataGenerator`"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "collapsed": true,
    "id": "vPCZeBQE5DfH"
   },
   "outputs": [],
   "source": [
    "img_gen = tf.keras.preprocessing.image.ImageDataGenerator(rescale=1./255, rotation_range=20)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "/Users/shiyuhuang/.keras/datasets/flower_photos\n"
     ]
    }
   ],
   "source": [
    "print(flowers)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "id": "my4PxqfH26p6"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Found 3670 images belonging to 5 classes.\n"
     ]
    }
   ],
   "source": [
    "images, labels = next(img_gen.flow_from_directory(flowers))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "id": "Hd96nH1w3eKH"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "float32 (32, 256, 256, 3)\n",
      "float32 (32, 5)\n"
     ]
    }
   ],
   "source": [
    "print(images.dtype, images.shape)\n",
    "print(labels.dtype, labels.shape)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "id": "KvRwvt5E2rTH"
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<DatasetV1Adapter shapes: ((32, 256, 256, 3), (32, 5)), types: (tf.float32, tf.float32)>"
      ]
     },
     "execution_count": 36,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "ds = tf.data.Dataset.from_generator(\n",
    "    img_gen.flow_from_directory, args=[flowers], \n",
    "    output_types=(tf.float32, tf.float32), \n",
    "    output_shapes=([32,256,256,3], [32,5])\n",
    ")\n",
    "\n",
    "ds"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "colab_type": "text",
    "id": "ma4XoYzih2f4"
   },
   "source": [
    "### Consuming TFRecord data\n",
    "\n",
    "See [Loading TFRecords](../tutorials/load_data/tf_records.ipynb) for an end-to-end example.\n",
    "\n",
    "The `tf.data` API supports a variety of file formats so that you can process\n",
    "large datasets that do not fit in memory. For example, the TFRecord file format\n",
    "is a simple record-oriented binary format that many TensorFlow applications use\n",
    "for training data. The `tf.data.TFRecordDataset` class enables you to\n",
    "stream over the contents of one or more TFRecord files as part of an input\n",
    "pipeline."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "colab_type": "text",
    "id": "LiatWUloRJc4"
   },
   "source": [
    "Here is an example using the test file from the French Street Name Signs (FSNS)."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "id": "jZo_4fzdbDcW"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Downloading data from https://storage.googleapis.com/download.tensorflow.org/data/fsns-20160927/testdata/fsns-00000-of-00001\n",
      "7905280/7904079 [==============================] - 2s 0us/step\n"
     ]
    }
   ],
   "source": [
    "# Creates a dataset that reads all of the examples from two files.\n",
    "fsns_test_file = tf.keras.utils.get_file(\"fsns.tfrec\", \"https://storage.googleapis.com/download.tensorflow.org/data/fsns-20160927/testdata/fsns-00000-of-00001\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "colab_type": "text",
    "id": "seD5bOH3RhBP"
   },
   "source": [
    "The `filenames` argument to the `TFRecordDataset` initializer can either be a\n",
    "string, a list of strings, or a `tf.Tensor` of strings. Therefore if you have\n",
    "two sets of files for training and validation purposes, you can create a factory\n",
    "method that produces the dataset, taking filenames as an input argument:\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "id": "e2WV5d7DRUA-"
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<TFRecordDatasetV2 shapes: (), types: tf.string>"
      ]
     },
     "execution_count": 38,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "dataset = tf.data.TFRecordDataset(filenames = [fsns_test_file])\n",
    "dataset"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "colab_type": "text",
    "id": "62NC3vz9U8ww"
   },
   "source": [
    "Many TensorFlow projects use serialized `tf.train.Example` records in their TFRecord files. These need to be decoded before they can be inspected:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "id": "3tk29nlMl5P3"
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "bytes_list {\n",
       "  value: \"Rue Perreyon\"\n",
       "}"
      ]
     },
     "execution_count": 41,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "raw_example = next(iter(dataset))\n",
    "parsed = tf.train.Example.FromString(raw_example.numpy())\n",
    "parsed.features.feature['image/text']"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "colab_type": "text",
    "id": "qJAUib10bDcb"
   },
   "source": [
    "### Consuming text data\n",
    "\n",
    "See [Loading Text](../tutorials/load_data/text.ipynb) for an end to end example.\n",
    "\n",
    "Many datasets are distributed as one or more text files. The\n",
    "`tf.data.TextLineDataset` provides an easy way to extract lines from one or more\n",
    "text files. Given one or more filenames, a `TextLineDataset` will produce one\n",
    "string-valued element per line of those files."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 42,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "id": "hQMoFu2TbDcc"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Downloading data from https://storage.googleapis.com/download.tensorflow.org/data/illiad/cowper.txt\n",
      "819200/815980 [==============================] - 1s 1us/step\n",
      "Downloading data from https://storage.googleapis.com/download.tensorflow.org/data/illiad/derby.txt\n",
      "811008/809730 [==============================] - 1s 1us/step\n",
      "Downloading data from https://storage.googleapis.com/download.tensorflow.org/data/illiad/butler.txt\n",
      "811008/807992 [==============================] - 4s 4us/step\n"
     ]
    }
   ],
   "source": [
    "directory_url = 'https://storage.googleapis.com/download.tensorflow.org/data/illiad/'\n",
    "file_names = ['cowper.txt', 'derby.txt', 'butler.txt']\n",
    "\n",
    "file_paths = [\n",
    "    tf.keras.utils.get_file(file_name, directory_url + file_name)\n",
    "    for file_name in file_names\n",
    "]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 43,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "collapsed": true,
    "id": "il4cOjiVwj95"
   },
   "outputs": [],
   "source": [
    "dataset = tf.data.TextLineDataset(file_paths)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "colab_type": "text",
    "id": "MevIbDiwy4MC"
   },
   "source": [
    "Here are the first few lines of the first file:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 44,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "id": "vpEHKyvHxu8A"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "b\"\\xef\\xbb\\xbfAchilles sing, O Goddess! Peleus' son;\"\n",
      "b'His wrath pernicious, who ten thousand woes'\n",
      "b\"Caused to Achaia's host, sent many a soul\"\n",
      "b'Illustrious into Ades premature,'\n",
      "b'And Heroes gave (so stood the will of Jove)'\n"
     ]
    }
   ],
   "source": [
    "for line in dataset.take(5):\n",
    "  print(line.numpy())"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "colab_type": "text",
    "id": "lJyVw8ro7fey"
   },
   "source": [
    "To alternate lines between files use `Dataset.interleave`. This makes it easier to shuffle files together. Here are the first, second and third lines from each translation:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 45,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "id": "1UCveWOt7fDE"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "b\"\\xef\\xbb\\xbfAchilles sing, O Goddess! Peleus' son;\"\n",
      "b\"\\xef\\xbb\\xbfOf Peleus' son, Achilles, sing, O Muse,\"\n",
      "b'\\xef\\xbb\\xbfSing, O goddess, the anger of Achilles son of Peleus, that brought'\n",
      "\n",
      "b'His wrath pernicious, who ten thousand woes'\n",
      "b'The vengeance, deep and deadly; whence to Greece'\n",
      "b'countless ills upon the Achaeans. Many a brave soul did it send'\n",
      "\n",
      "b\"Caused to Achaia's host, sent many a soul\"\n",
      "b'Unnumbered ills arose; which many a soul'\n",
      "b'hurrying down to Hades, and many a hero did it yield a prey to dogs and'\n"
     ]
    }
   ],
   "source": [
    "files_ds = tf.data.Dataset.from_tensor_slices(file_paths)\n",
    "lines_ds = files_ds.interleave(tf.data.TextLineDataset, cycle_length=3)\n",
    "\n",
    "for i, line in enumerate(lines_ds.take(9)):\n",
    "  if i % 3 == 0:\n",
    "    print()\n",
    "  print(line.numpy())"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "colab_type": "text",
    "id": "2F_pOIDubDce"
   },
   "source": [
    "By default, a `TextLineDataset` yields *every* line of each file, which may\n",
    "not be desirable, for example, if the file starts with a header line, or contains comments. These lines can be removed using the `Dataset.skip()` or\n",
    "`Dataset.filter()` transformations. Here we skip the first line, then filter to\n",
    "find only survivors."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 46,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "id": "X6b20Gua2jPO"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Downloading data from https://storage.googleapis.com/tf-datasets/titanic/train.csv\n",
      "32768/30874 [===============================] - 0s 10us/step\n"
     ]
    }
   ],
   "source": [
    "titanic_file = tf.keras.utils.get_file(\"train.csv\", \"https://storage.googleapis.com/tf-datasets/titanic/train.csv\")\n",
    "titanic_lines = tf.data.TextLineDataset(titanic_file)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 47,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "id": "5M1pauNT68B2"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "b'survived,sex,age,n_siblings_spouses,parch,fare,class,deck,embark_town,alone'\n",
      "b'0,male,22.0,1,0,7.25,Third,unknown,Southampton,n'\n",
      "b'1,female,38.0,1,0,71.2833,First,C,Cherbourg,n'\n",
      "b'1,female,26.0,0,0,7.925,Third,unknown,Southampton,y'\n",
      "b'1,female,35.0,1,0,53.1,First,C,Southampton,n'\n",
      "b'0,male,28.0,0,0,8.4583,Third,unknown,Queenstown,y'\n",
      "b'0,male,2.0,3,1,21.075,Third,unknown,Southampton,n'\n",
      "b'1,female,27.0,0,2,11.1333,Third,unknown,Southampton,n'\n",
      "b'1,female,14.0,1,0,30.0708,Second,unknown,Cherbourg,n'\n",
      "b'1,female,4.0,1,1,16.7,Third,G,Southampton,n'\n"
     ]
    }
   ],
   "source": [
    "for line in titanic_lines.take(10):\n",
    "  print(line.numpy())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 48,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "collapsed": true,
    "id": "dEIP95cibDcf"
   },
   "outputs": [],
   "source": [
    "def survived(line):\n",
    "  return tf.not_equal(tf.strings.substr(line, 0, 1), \"0\")\n",
    "\n",
    "survivors = titanic_lines.skip(1).filter(survived)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 49,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "id": "odQ4618h1XqD"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "b'1,female,38.0,1,0,71.2833,First,C,Cherbourg,n'\n",
      "b'1,female,26.0,0,0,7.925,Third,unknown,Southampton,y'\n",
      "b'1,female,35.0,1,0,53.1,First,C,Southampton,n'\n",
      "b'1,female,27.0,0,2,11.1333,Third,unknown,Southampton,n'\n",
      "b'1,female,14.0,1,0,30.0708,Second,unknown,Cherbourg,n'\n",
      "b'1,female,4.0,1,1,16.7,Third,G,Southampton,n'\n",
      "b'1,male,28.0,0,0,13.0,Second,unknown,Southampton,y'\n",
      "b'1,female,28.0,0,0,7.225,Third,unknown,Cherbourg,y'\n",
      "b'1,male,28.0,0,0,35.5,First,A,Southampton,y'\n",
      "b'1,female,38.0,1,5,31.3875,Third,unknown,Southampton,n'\n"
     ]
    }
   ],
   "source": [
    "for line in survivors.take(10):\n",
    "  print(line.numpy())"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "colab_type": "text",
    "id": "x5z5B11UjDTd"
   },
   "source": [
    "### Consuming CSV data"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "colab_type": "text",
    "id": "ChDHNi3qbDch"
   },
   "source": [
    "See [Loading CSV Files](../tutorials/load_data/csv.ipynb), and [Loading Pandas DataFrames](../tutorials/load_data/pandas.ipynb) for more examples. \n",
    "\n",
    "The CSV file format is a popular format for storing tabular data in plain text.\n",
    "\n",
    "For example:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 50,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "collapsed": true,
    "id": "kj28j5u49Bjm"
   },
   "outputs": [],
   "source": [
    "titanic_file = tf.keras.utils.get_file(\"train.csv\", \"https://storage.googleapis.com/tf-datasets/titanic/train.csv\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 51,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "id": "ghvtmW40LM0B"
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>survived</th>\n",
       "      <th>sex</th>\n",
       "      <th>age</th>\n",
       "      <th>n_siblings_spouses</th>\n",
       "      <th>parch</th>\n",
       "      <th>fare</th>\n",
       "      <th>class</th>\n",
       "      <th>deck</th>\n",
       "      <th>embark_town</th>\n",
       "      <th>alone</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0</td>\n",
       "      <td>male</td>\n",
       "      <td>22.0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>7.2500</td>\n",
       "      <td>Third</td>\n",
       "      <td>unknown</td>\n",
       "      <td>Southampton</td>\n",
       "      <td>n</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1</td>\n",
       "      <td>female</td>\n",
       "      <td>38.0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>71.2833</td>\n",
       "      <td>First</td>\n",
       "      <td>C</td>\n",
       "      <td>Cherbourg</td>\n",
       "      <td>n</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>1</td>\n",
       "      <td>female</td>\n",
       "      <td>26.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>7.9250</td>\n",
       "      <td>Third</td>\n",
       "      <td>unknown</td>\n",
       "      <td>Southampton</td>\n",
       "      <td>y</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>1</td>\n",
       "      <td>female</td>\n",
       "      <td>35.0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>53.1000</td>\n",
       "      <td>First</td>\n",
       "      <td>C</td>\n",
       "      <td>Southampton</td>\n",
       "      <td>n</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>0</td>\n",
       "      <td>male</td>\n",
       "      <td>28.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>8.4583</td>\n",
       "      <td>Third</td>\n",
       "      <td>unknown</td>\n",
       "      <td>Queenstown</td>\n",
       "      <td>y</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   survived     sex   age  n_siblings_spouses  parch     fare  class     deck  \\\n",
       "0         0    male  22.0                   1      0   7.2500  Third  unknown   \n",
       "1         1  female  38.0                   1      0  71.2833  First        C   \n",
       "2         1  female  26.0                   0      0   7.9250  Third  unknown   \n",
       "3         1  female  35.0                   1      0  53.1000  First        C   \n",
       "4         0    male  28.0                   0      0   8.4583  Third  unknown   \n",
       "\n",
       "   embark_town alone  \n",
       "0  Southampton     n  \n",
       "1    Cherbourg     n  \n",
       "2  Southampton     y  \n",
       "3  Southampton     n  \n",
       "4   Queenstown     y  "
      ]
     },
     "execution_count": 51,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df = pd.read_csv(titanic_file, index_col=None)\n",
    "df.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "colab_type": "text",
    "id": "J9uBqt5oGsR-"
   },
   "source": [
    "If your data fits in memory the same `Dataset.from_tensor_slices` method works on dictionaries, allowing this data to be easily imported:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 52,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "id": "JmAMCiPJA0qO"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "  'survived'          : 0\n",
      "  'sex'               : b'male'\n",
      "  'age'               : 22.0\n",
      "  'n_siblings_spouses': 1\n",
      "  'parch'             : 0\n",
      "  'fare'              : 7.25\n",
      "  'class'             : b'Third'\n",
      "  'deck'              : b'unknown'\n",
      "  'embark_town'       : b'Southampton'\n",
      "  'alone'             : b'n'\n"
     ]
    }
   ],
   "source": [
    "titanic_slices = tf.data.Dataset.from_tensor_slices(dict(df))\n",
    "\n",
    "for feature_batch in titanic_slices.take(1):\n",
    "  for key, value in feature_batch.items():\n",
    "    print(\"  {!r:20s}: {}\".format(key, value))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "colab_type": "text",
    "id": "47yippqaHFk6"
   },
   "source": [
    "A more scalable approach is to load from disk as necessary. \n",
    "\n",
    "The `tf.data` module provides methods to extract records from one or more CSV files that comply with [RFC 4180](https://tools.ietf.org/html/rfc4180).\n",
    "\n",
    "The `experimental.make_csv_dataset` function is the high level interface for reading sets of csv files. It supports column type inference and many other features, like batching and shuffling, to make usage simple."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 53,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "id": "zHUDrM_s_brq"
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "WARNING:tensorflow:From /Users/shiyuhuang/ai3/lib/python3.6/site-packages/tensorflow_core/python/data/experimental/ops/readers.py:521: parallel_interleave (from tensorflow.python.data.experimental.ops.interleave_ops) is deprecated and will be removed in a future version.\n",
      "Instructions for updating:\n",
      "Use `tf.data.Dataset.interleave(map_func, cycle_length, block_length, num_parallel_calls=tf.data.experimental.AUTOTUNE)` instead. If sloppy execution is desired, use `tf.data.Options.experimental_determinstic`.\n",
      "WARNING:tensorflow:From /Users/shiyuhuang/ai3/lib/python3.6/site-packages/tensorflow_core/python/data/experimental/ops/readers.py:215: shuffle_and_repeat (from tensorflow.python.data.experimental.ops.shuffle_ops) is deprecated and will be removed in a future version.\n",
      "Instructions for updating:\n",
      "Use `tf.data.Dataset.shuffle(buffer_size, seed)` followed by `tf.data.Dataset.repeat(count)`. Static tf.data optimizations will take care of using the fused implementation.\n"
     ]
    }
   ],
   "source": [
    "titanic_batches = tf.data.experimental.make_csv_dataset(\n",
    "    titanic_file, batch_size=4,\n",
    "    label_name=\"survived\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 54,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "id": "TsZfhz79_Wlg"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "'survived': [1 1 0 1]\n",
      "features:\n",
      "  'sex'               : [b'female' b'female' b'female' b'female']\n",
      "  'age'               : [28. 22. 28. 17.]\n",
      "  'n_siblings_spouses': [1 1 0 0]\n",
      "  'parch'             : [0 1 2 0]\n",
      "  'fare'              : [16.1    29.     15.2458 12.    ]\n",
      "  'class'             : [b'Third' b'Second' b'Third' b'Second']\n",
      "  'deck'              : [b'unknown' b'unknown' b'unknown' b'unknown']\n",
      "  'embark_town'       : [b'Southampton' b'Southampton' b'Cherbourg' b'Cherbourg']\n",
      "  'alone'             : [b'n' b'n' b'n' b'y']\n"
     ]
    }
   ],
   "source": [
    "for feature_batch, label_batch in titanic_batches.take(1):\n",
    "  print(\"'survived': {}\".format(label_batch))\n",
    "  print(\"features:\")\n",
    "  for key, value in feature_batch.items():\n",
    "    print(\"  {!r:20s}: {}\".format(key, value))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "colab_type": "text",
    "id": "k_5N7CdNGYAa"
   },
   "source": [
    "You can use the `select_columns` argument if you only need a subset of columns."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 55,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "collapsed": true,
    "id": "H9KNHyDwF2Sc"
   },
   "outputs": [],
   "source": [
    "titanic_batches = tf.data.experimental.make_csv_dataset(\n",
    "    titanic_file, batch_size=4,\n",
    "    label_name=\"survived\", select_columns=['class', 'fare', 'survived'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 56,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "id": "7C2uosFnGIT8"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "'survived': [1 1 0 1]\n",
      "  'fare'              : [18.75   7.75  29.125 30.5  ]\n",
      "  'class'             : [b'Second' b'Third' b'Third' b'First']\n"
     ]
    }
   ],
   "source": [
    "for feature_batch, label_batch in titanic_batches.take(1):\n",
    "  print(\"'survived': {}\".format(label_batch))\n",
    "  for key, value in feature_batch.items():\n",
    "    print(\"  {!r:20s}: {}\".format(key, value))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "colab_type": "text",
    "id": "TSVgJJ1HJD6M"
   },
   "source": [
    "There is also a lower-level `experimental.CsvDataset` class which provides finer grained control. It does not support column type inference. Instead you must specify the type of each column. "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 57,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "id": "wP1Y_NXA8bYl"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[0, b'male', 22.0, 1, 0, 7.25, b'Third', b'unknown', b'Southampton', b'n']\n",
      "[1, b'female', 38.0, 1, 0, 71.2833, b'First', b'C', b'Cherbourg', b'n']\n",
      "[1, b'female', 26.0, 0, 0, 7.925, b'Third', b'unknown', b'Southampton', b'y']\n",
      "[1, b'female', 35.0, 1, 0, 53.1, b'First', b'C', b'Southampton', b'n']\n",
      "[0, b'male', 28.0, 0, 0, 8.4583, b'Third', b'unknown', b'Queenstown', b'y']\n",
      "[0, b'male', 2.0, 3, 1, 21.075, b'Third', b'unknown', b'Southampton', b'n']\n",
      "[1, b'female', 27.0, 0, 2, 11.1333, b'Third', b'unknown', b'Southampton', b'n']\n",
      "[1, b'female', 14.0, 1, 0, 30.0708, b'Second', b'unknown', b'Cherbourg', b'n']\n",
      "[1, b'female', 4.0, 1, 1, 16.7, b'Third', b'G', b'Southampton', b'n']\n",
      "[0, b'male', 20.0, 0, 0, 8.05, b'Third', b'unknown', b'Southampton', b'y']\n"
     ]
    }
   ],
   "source": [
    "titanic_types  = [tf.int32, tf.string, tf.float32, tf.int32, tf.int32, tf.float32, tf.string, tf.string, tf.string, tf.string] \n",
    "dataset = tf.data.experimental.CsvDataset(titanic_file, titanic_types , header=True)\n",
    "\n",
    "for line in dataset.take(10):\n",
    "  print([item.numpy() for item in line])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "colab_type": "text",
    "id": "oZSuLVsTbDcj"
   },
   "source": [
    "If some columns are empty, this low-level interface allows you to provide default values instead of column types."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 58,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "id": "Qry-g90FMo2I"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Writing missing.csv\n"
     ]
    }
   ],
   "source": [
    "%%writefile missing.csv\n",
    "1,2,3,4\n",
    ",2,3,4\n",
    "1,,3,4\n",
    "1,2,,4\n",
    "1,2,3,\n",
    ",,,"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 59,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "id": "d5_hbiE9bDck"
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<MapDataset shapes: (4,), types: tf.int32>"
      ]
     },
     "execution_count": 59,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Creates a dataset that reads all of the records from two CSV files, each with\n",
    "# four float columns which may have missing values.\n",
    "\n",
    "record_defaults = [999,999,999,999]\n",
    "dataset = tf.data.experimental.CsvDataset(\"missing.csv\", record_defaults)\n",
    "dataset = dataset.map(lambda *items: tf.stack(items))\n",
    "dataset"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 60,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "id": "__jc7iD9M9FC"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[1 2 3 4]\n",
      "[999   2   3   4]\n",
      "[  1 999   3   4]\n",
      "[  1   2 999   4]\n",
      "[  1   2   3 999]\n",
      "[999 999 999 999]\n"
     ]
    }
   ],
   "source": [
    "for line in dataset:\n",
    "  print(line.numpy())"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "colab_type": "text",
    "id": "z_4g0cIvbDcl"
   },
   "source": [
    "By default, a `CsvDataset` yields *every* column of *every* line of the file,\n",
    "which may not be desirable, for example if the file starts with a header line\n",
    "that should be ignored, or if some columns are not required in the input.\n",
    "These lines and fields can be removed with the `header` and `select_cols`\n",
    "arguments respectively."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 61,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "id": "p2IF_K0obDcm"
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<MapDataset shapes: (2,), types: tf.int32>"
      ]
     },
     "execution_count": 61,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Creates a dataset that reads all of the records from two CSV files with\n",
    "# headers, extracting float data from columns 2 and 4.\n",
    "record_defaults = [999, 999] # Only provide defaults for the selected columns\n",
    "dataset = tf.data.experimental.CsvDataset(\"missing.csv\", record_defaults, select_cols=[1, 3])\n",
    "dataset = dataset.map(lambda *items: tf.stack(items))\n",
    "dataset"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 62,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "id": "-5aLprDeRNb0"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[2 4]\n",
      "[2 4]\n",
      "[999   4]\n",
      "[2 4]\n",
      "[  2 999]\n",
      "[999 999]\n"
     ]
    }
   ],
   "source": [
    "for line in dataset:\n",
    "  print(line.numpy())"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "colab_type": "text",
    "id": "-CJfhb03koVN"
   },
   "source": [
    "### Consuming sets of files"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "colab_type": "text",
    "id": "yAO7SZDSk57_"
   },
   "source": [
    "There are many datasets distributed as a set of files, where each file is an example."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 63,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "collapsed": true,
    "id": "1dZwN3CS-jV2"
   },
   "outputs": [],
   "source": [
    "flowers_root = tf.keras.utils.get_file(\n",
    "    'flower_photos',\n",
    "    'https://storage.googleapis.com/download.tensorflow.org/example_images/flower_photos.tgz',\n",
    "    untar=True)\n",
    "flowers_root = pathlib.Path(flowers_root)\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "colab_type": "text",
    "id": "4099UU8n-jHP"
   },
   "source": [
    "Note: these images are licensed CC-BY, see LICENSE.txt for details."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "colab_type": "text",
    "id": "FCyTYpmDs_jE"
   },
   "source": [
    "The root directory contains a directory for each class:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 64,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "id": "_2iCXsHu6jJH"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "roses\n",
      "sunflowers\n",
      "daisy\n",
      "dandelion\n",
      "tulips\n",
      "LICENSE.txt\n"
     ]
    }
   ],
   "source": [
    "for item in flowers_root.glob(\"*\"):\n",
    "  print(item.name)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "colab_type": "text",
    "id": "Ylj9fgkamgWZ"
   },
   "source": [
    "The files in each class directory are examples:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 65,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "id": "lAkQp5uxoINu"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "b'/Users/shiyuhuang/.keras/datasets/flower_photos/tulips/4587872443_a86c692cb8.jpg'\n",
      "b'/Users/shiyuhuang/.keras/datasets/flower_photos/sunflowers/18250039435_7654bc11be_n.jpg'\n",
      "b'/Users/shiyuhuang/.keras/datasets/flower_photos/dandelion/3465599902_14729e2b1b_n.jpg'\n",
      "b'/Users/shiyuhuang/.keras/datasets/flower_photos/sunflowers/3912497888_e7a5905bc3_n.jpg'\n",
      "b'/Users/shiyuhuang/.keras/datasets/flower_photos/daisy/2567033807_8e918c53d8_n.jpg'\n"
     ]
    }
   ],
   "source": [
    "list_ds = tf.data.Dataset.list_files(str(flowers_root/'*/*'))\n",
    "\n",
    "for f in list_ds.take(5):\n",
    "  print(f.numpy())"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "colab_type": "text",
    "id": "91CPfUUJ_8SZ"
   },
   "source": [
    "We can read the data using the `tf.io.read_file` function and extract the label from the path, returning `(image, label)` pairs:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 67,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "collapsed": true,
    "id": "-xhBRgvNqRRe"
   },
   "outputs": [],
   "source": [
    "def process_path(file_path):\n",
    "  label = tf.strings.split(file_path, '/')[-2]\n",
    "  return tf.io.read_file(file_path), label\n",
    "\n",
    "labeled_ds = list_ds.map(process_path)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 68,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "id": "kxrl0lGdnpRz"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "b'\\xff\\xd8\\xff\\xe0\\x00\\x10JFIF\\x00\\x01\\x01\\x00\\x00\\x01\\x00\\x01\\x00\\x00\\xff\\xfe\\x00\\x1ccmp3.10.3.1Lq3 0x50fdaf06\\x00\\xff\\xdb\\x00C\\x00\\x03\\x02\\x02\\x03\\x02\\x02\\x03\\x03\\x03\\x03\\x04\\x03\\x03\\x04\\x05\\x08\\x05\\x05\\x04\\x04\\x05\\n\\x07\\x07\\x06\\x08\\x0c\\n\\x0c\\x0c\\x0b\\n\\x0b\\x0b\\r\\x0e\\x12\\x10\\r\\x0e\\x11\\x0e\\x0b\\x0b\\x10'\n",
      "\n",
      "b'sunflowers'\n"
     ]
    }
   ],
   "source": [
    "for image_raw, label_text in labeled_ds.take(1):\n",
    "  print(repr(image_raw.numpy()[:100]))\n",
    "  print()\n",
    "  print(label_text.numpy())"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "colab_type": "text",
    "id": "yEh46Ee0oSH5"
   },
   "source": [
    "<!--\n",
    "TODO(mrry): Add this section.\n",
    "\n",
    "### Handling text data with unusual sizes\n",
    "-->\n",
    "\n",
    "## Batching dataset elements\n",
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "colab_type": "text",
    "id": "gR-2xY-8oSH4"
   },
   "source": [
    "### Simple batching\n",
    "\n",
    "The simplest form of batching stacks `n` consecutive elements of a dataset into\n",
    "a single element. The `Dataset.batch()` transformation does exactly this, with\n",
    "the same constraints as the `tf.stack()` operator, applied to each component\n",
    "of the elements: i.e. for each component *i*, all elements must have a tensor\n",
    "of the exact same shape."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 69,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "id": "xB7KeceLoSH0"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[array([0, 1, 2, 3]), array([ 0, -1, -2, -3])]\n",
      "[array([4, 5, 6, 7]), array([-4, -5, -6, -7])]\n",
      "[array([ 8,  9, 10, 11]), array([ -8,  -9, -10, -11])]\n",
      "[array([12, 13, 14, 15]), array([-12, -13, -14, -15])]\n"
     ]
    }
   ],
   "source": [
    "inc_dataset = tf.data.Dataset.range(100)\n",
    "dec_dataset = tf.data.Dataset.range(0, -100, -1)\n",
    "dataset = tf.data.Dataset.zip((inc_dataset, dec_dataset))\n",
    "batched_dataset = dataset.batch(4)\n",
    "\n",
    "for batch in batched_dataset.take(4):\n",
    "  print([arr.numpy() for arr in batch])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "colab_type": "text",
    "id": "LlV1tpFdoSH0"
   },
   "source": [
    "While `tf.data` tries to propagate shape information, the default settings of `Dataset.batch` result in an unknown batch size because the last batch may not be full. Note the `None`s in the shape:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 70,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "id": "yN7hn7OBoSHx"
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<BatchDataset shapes: ((None,), (None,)), types: (tf.int64, tf.int64)>"
      ]
     },
     "execution_count": 70,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "batched_dataset"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "colab_type": "text",
    "id": "It1fPA3NoSHw"
   },
   "source": [
    "Use the `drop_remainder` argument to ignore that last batch, and get full shape propagation:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 71,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "id": "BycWC7WCoSHt"
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<BatchDataset shapes: ((7,), (7,)), types: (tf.int64, tf.int64)>"
      ]
     },
     "execution_count": 71,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "batched_dataset = dataset.batch(7, drop_remainder=True)\n",
    "batched_dataset"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "colab_type": "text",
    "id": "mj9nRxFZoSHs"
   },
   "source": [
    "### Batching tensors with padding\n",
    "\n",
    "The above recipe works for tensors that all have the same size. However, many\n",
    "models (e.g. sequence models) work with input data that can have varying size\n",
    "(e.g. sequences of different lengths). To handle this case, the\n",
    "`Dataset.padded_batch()` transformation enables you to batch tensors of\n",
    "different shape by specifying one or more dimensions in which they may be\n",
    "padded."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 72,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "id": "kycwO0JooSHn"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[[0 0 0]\n",
      " [1 0 0]\n",
      " [2 2 0]\n",
      " [3 3 3]]\n",
      "\n",
      "[[4 4 4 4 0 0 0]\n",
      " [5 5 5 5 5 0 0]\n",
      " [6 6 6 6 6 6 0]\n",
      " [7 7 7 7 7 7 7]]\n",
      "\n"
     ]
    }
   ],
   "source": [
    "dataset = tf.data.Dataset.range(100)\n",
    "dataset = dataset.map(lambda x: tf.fill([tf.cast(x, tf.int32)], x))\n",
    "dataset = dataset.padded_batch(4, padded_shapes=(None,))\n",
    "\n",
    "for batch in dataset.take(2):\n",
    "  print(batch.numpy())\n",
    "  print()\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "colab_type": "text",
    "id": "wl3yhth1oSHm"
   },
   "source": [
    "The `Dataset.padded_batch()` transformation allows you to set different padding\n",
    "for each dimension of each component, and it may be variable-length (signified\n",
    "by `None` in the example above) or constant-length. It is also possible to\n",
    "override the padding value, which defaults to 0.\n",
    "\n",
    "<!--\n",
    "TODO(mrry): Add this section.\n",
    "\n",
    "### Dense ragged -> tf.SparseTensor\n",
    "-->\n",
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "colab_type": "text",
    "id": "G8zbAxMwoSHl"
   },
   "source": [
    "## Training workflows\n",
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "colab_type": "text",
    "id": "UnlhzF_AoSHk"
   },
   "source": [
    "### Processing multiple epochs\n",
    "\n",
    "The `tf.data` API offers two main ways to process multiple epochs of the same\n",
    "data.\n",
    "\n",
    "The simplest way to iterate over a dataset in multiple epochs is to use the\n",
    "`Dataset.repeat()` transformation. First we create a dataset of titanic data:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 73,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "collapsed": true,
    "id": "0tODHZzRoSHg"
   },
   "outputs": [],
   "source": [
    "titanic_file = tf.keras.utils.get_file(\"train.csv\", \"https://storage.googleapis.com/tf-datasets/titanic/train.csv\")\n",
    "titanic_lines = tf.data.TextLineDataset(titanic_file)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 74,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "collapsed": true,
    "id": "LMO6mlXxoSHc"
   },
   "outputs": [],
   "source": [
    "def plot_batch_sizes(ds):\n",
    "  batch_sizes = [batch.shape[0] for batch in ds]\n",
    "  plt.bar(range(len(batch_sizes)), batch_sizes)\n",
    "  plt.xlabel('Batch number')\n",
    "  plt.ylabel('Batch size')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "colab_type": "text",
    "id": "WfVzmqL7oSHa"
   },
   "source": [
    "Applying the `Dataset.repeat()` transformation with no arguments will repeat\n",
    "the input indefinitely.\n",
    "\n",
    "The `Dataset.repeat` transformation concatenates its\n",
    "arguments without signaling the end of one epoch and the beginning of the next\n",
    "epoch. Because of this a `Dataset.batch` applied after `Dataset.repeat` will yield batches that stradle epoch boundaries:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 75,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "id": "nZ0G1cztoSHX"
   },
   "outputs": [],
   "source": [
    "titanic_batches = titanic_lines.repeat(3).batch(128)\n",
    "plot_batch_sizes(titanic_batches)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "colab_type": "text",
    "id": "moH-4gBEoSHW"
   },
   "source": [
    "If you need clear epoch separation, put `Dataset.batch` before the repeat:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 76,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "id": "wmbmdK1qoSHS"
   },
   "outputs": [],
   "source": [
    "titanic_batches = titanic_lines.batch(128).repeat(3)\n",
    "\n",
    "plot_batch_sizes(titanic_batches)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "colab_type": "text",
    "id": "DlEM5f9loSHR"
   },
   "source": [
    "If you would like to perform a custom computation (e.g. to collect statistics) at the end of each epoch then it's simplest to restart the dataset iteration on each epoch:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 77,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "id": "YyekyeY7oSHO"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(128,)\n",
      "(128,)\n",
      "(128,)\n",
      "(128,)\n",
      "(116,)\n",
      "End of epoch:  0\n",
      "(128,)\n",
      "(128,)\n",
      "(128,)\n",
      "(128,)\n",
      "(116,)\n",
      "End of epoch:  1\n",
      "(128,)\n",
      "(128,)\n",
      "(128,)\n",
      "(128,)\n",
      "(116,)\n",
      "End of epoch:  2\n"
     ]
    }
   ],
   "source": [
    "epochs = 3\n",
    "dataset = titanic_lines.batch(128)\n",
    "\n",
    "for epoch in range(epochs):\n",
    "  for batch in dataset:\n",
    "    print(batch.shape)\n",
    "  print(\"End of epoch: \", epoch)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "colab_type": "text",
    "id": "_Bci79WCoSHN"
   },
   "source": [
    "### Randomly shuffling input data\n",
    "\n",
    "The `Dataset.shuffle()` transformation maintains a fixed-size\n",
    "buffer and chooses the next element uniformly at random from that buffer.\n",
    "\n",
    "Note: While large buffer_sizes shuffle more thoroughly, they can take a lot of memory, and significant time to fill. Consider using `Dataset.interleave` across files if this becomes a problem."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "colab_type": "text",
    "id": "6YvXr-qeoSHL"
   },
   "source": [
    "Add an index to the dataset so you can see the effect:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 78,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "id": "Io4iJH1toSHI"
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<BatchDataset shapes: ((None,), (None,)), types: (tf.int64, tf.string)>"
      ]
     },
     "execution_count": 78,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "lines = tf.data.TextLineDataset(titanic_file)\n",
    "counter = tf.data.experimental.Counter()\n",
    "\n",
    "dataset = tf.data.Dataset.zip((counter, lines))\n",
    "dataset = dataset.shuffle(buffer_size=100)\n",
    "dataset = dataset.batch(20)\n",
    "dataset"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "colab_type": "text",
    "id": "T6tNYRcsoSHH"
   },
   "source": [
    "Since the `buffer_size` is 100, and the batch size is 20, the first batch contains no elements with an index over 120."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 79,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "id": "ayM3FFFAoSHC"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[ 22  81  31  43  58  98  80  33  21  84  44  46  36  59 103 108  23 114\n",
      "  63 116]\n"
     ]
    }
   ],
   "source": [
    "n,line_batch = next(iter(dataset))\n",
    "print(n.numpy())"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "colab_type": "text",
    "id": "PLrfIjTHoSHB"
   },
   "source": [
    "As with `Dataset.batch` the order relative to `Dataset.repeat` matters.\n",
    "\n",
    "`Dataset.shuffle` doesn't signal the end of an epoch until the shuffle buffer is empty. So a shuffle placed before a repeat will show every element of one epoch before moving to the next: "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 80,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "id": "YX3pe7zZoSG6"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Here are the item ID's near the epoch boundary:\n",
      "\n",
      "[377 559 578 539 504 569 511 532 601 602]\n",
      "[429 621 512 418  74 606 611 588 466 587]\n",
      "[579 616 540 566 610 395 593 626]\n",
      "[50 20 24 75 33 54 48 49 30 39]\n",
      "[ 40  16 111  66  10  96  81   4  87  38]\n"
     ]
    }
   ],
   "source": [
    "dataset = tf.data.Dataset.zip((counter, lines))\n",
    "shuffled = dataset.shuffle(buffer_size=100).batch(10).repeat(2)\n",
    "\n",
    "print(\"Here are the item ID's near the epoch boundary:\\n\")\n",
    "for n, line_batch in shuffled.skip(60).take(5):\n",
    "  print(n.numpy())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 81,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "id": "H9hlE-lGoSGz"
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.legend.Legend at 0x150432550>"
      ]
     },
     "execution_count": 81,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "shuffle_repeat = [n.numpy().mean() for n, line_batch in shuffled]\n",
    "plt.plot(shuffle_repeat, label=\"shuffle().repeat()\")\n",
    "plt.ylabel(\"Mean item ID\")\n",
    "plt.legend()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "colab_type": "text",
    "id": "UucIgCxWoSGx"
   },
   "source": [
    "But a repeat before a shuffle mixes the epoch boundaries together:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 76,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "id": "Bhxb5YGZoSGm"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Here are the item ID's near the epoch boundary:\n",
      "\n",
      "[  4 507 409 558 557 247 537 562 162  24]\n",
      "[524  28 612  21 499 622 452 387  16 588]\n",
      "[403 589 306  31   7 571  12 574 582 578]\n",
      "[496  15  43  54 498 466  20 268  56 526]\n",
      "[594 624  47  41  51  32  30  34  35 520]\n",
      "[618  36 532   1 617  57 368  58 580 605]\n",
      "[  2  25  66 568  22  37 405 461 538  74]\n",
      "[  6  42  10  40  29  11  13  97 606  80]\n",
      "[512  59  68  82  69  98  77  62  76 300]\n",
      "[ 18  73  87 113   3 100  70  14  49 614]\n",
      "[625  94 495  95 110  33 595 602 101 105]\n",
      "[  9   0 107  86 112  60 122 527 133 109]\n",
      "[ 46  26  81  27 490 627  83  53 413 148]\n",
      "[ 64 141 142  38 129 517 154 143 131  63]\n",
      "[ 17 149 609  45 139  71 145 443  88 457]\n"
     ]
    }
   ],
   "source": [
    "dataset = tf.data.Dataset.zip((counter, lines))\n",
    "shuffled = dataset.repeat(2).shuffle(buffer_size=100).batch(10)\n",
    "\n",
    "print(\"Here are the item ID's near the epoch boundary:\\n\")\n",
    "for n, line_batch in shuffled.skip(55).take(15):\n",
    "  print(n.numpy())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 77,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "id": "VAM4cbpZoSGL"
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.legend.Legend at 0x7fd090342da0>"
      ]
     },
     "execution_count": 77,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYUAAAD7CAYAAACFfIhNAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8QZhcZAAAgAElEQVR4nOy9d3xb5b3H/360bMmW94rtOM7ee5AQoEDCKqulQMulLdy2FNrLLS0tq7u9/PqD/uhglEIvlHVpyy4UUgqEUEIgZEP2cOI4HvHW3tLz++M5krxHYsWOc96vl1+Szjk6epRI+pzvFlJKdHR0dHR0AAzDvQAdHR0dnZGDLgo6Ojo6Ogl0UdDR0dHRSaCLgo6Ojo5OAl0UdHR0dHQS6KKgo6Ojo5MgpaIghMgRQrwohNgjhNgthFgmhMgTQrwthNiv3eZqxwohxANCiANCiE+FEAtSuTYdHR0dne6k2lK4H3hTSjkNmAvsBu4EVkspJwOrtccAFwGTtb9vAn9M8dp0dHR0dLogUlW8JoTIBrYBE2SHFxFC7AXOllI2CCHGAO9JKacKIR7V7v+163G9vUZBQYGsrKxMyfp1dHR0RiubN29ukVIW9rTPlMLXHQ80A08IIeYCm4FbgOIOP/RHgWLtfhlwpMPza7VtvYpCZWUlmzZtGup16+jo6IxqhBCHe9uXSveRCVgA/FFKOR/wknQVAaBZEIMyVYQQ3xRCbBJCbGpubh6yxero6OjopFYUaoFaKeXH2uMXUSLRqLmN0G6btP11wNgOzy/XtnVCSvknKeUiKeWiwsIerR8dHR0dnWMkZaIgpTwKHBFCTNU2rQB2Aa8B12nbrgNe1e6/BnxVy0JaCjj7iifo6Ojo6Aw9qYwpAPw38KwQwgIcBP4TJUTPCyG+DhwGrtaOXQV8FjgA+LRjB004HKa2tpZAIHC8a9cZoaSnp1NeXo7ZbB7upejojDpSKgpSym3Aoh52rejhWAn81/G+Zm1tLXa7ncrKSoQQx3s6nRGGlJLW1lZqa2sZP378cC9HR2fUMeoqmgOBAPn5+bogjFKEEOTn5+uWoI5Oihh1ogDogjDK0f9/dXRSx6gUBR0dHZ1hw++AA6s7bapu8bJmT1MvTxhZ6KJwgqisrKSlpWVQz3nggQeYPn061157LcFgkJUrVzJv3jyee+45zj777AEV7l155ZUcPHgQgJUrV9Le3n5M6x9qHA4HDz/8cKdtDQ0NXHLJJQBs376d66+/fhhWpqNznGz7C/zfFdBendh0zz/3cPNftgzfmgaBLgojmIcffpi3336bZ599lq1btwKwbds2vvjFLw7o+Tt37iQajTJhwgQAvvKVr3T7Ie6JaDR67IseID2Jwm9/+1tuuOEGAGbPnk1tbS01NTUpX4uOzpDi0y7+Dq0FIBKNsa6qBW8oijcYGcaFDQxdFFKA1+vl4osvZu7cucyaNYvnnnsOgAcffJAFCxYwe/Zs9uzZA8DPf/5z7rvvvsRzZ82aRXV1NTfddBMHDx7koosu4t577+XLX/4yGzduZN68eVRVVXV6vbfeeotly5axYMECrrrqKjweDwDPPvssl19+eeK4yy67jL/+9a89rrmyspI77riDBQsW8MILL1BVVcWFF17IwoULOfPMMxPrvf7667nppptYtGgRU6ZM4fXXXweUkNx2220sXryYOXPm8OijjwLg8XhYsWJF4n2/+qoqS7nzzjupqqpi3rx53HbbbQC89NJLXHjhhYk1XXrppfztb387xv8FHZ1hIuBSt9VKFD6pdeAOKDFodgeHa1UDJtV1CsPKL/6xk131riE954zSLH526cw+j3nzzTcpLS3ljTfeAMDpdHLHHXdQUFDAli1bePjhh7nvvvt47LHHej3HI488wptvvsmaNWsoKCjgtNNO47777kv8CMdpaWnh7rvv5p133iEjI4N7772X3/72t/z0pz9l3bp1XHPNNYljc3NzCQaDtLa2kp+f3+018/Pz2bJFmbgrVqzgkUceYfLkyXz88cd8+9vf5t133wWgurqaDRs2UFVVxTnnnMOBAwd4+umnyc7OZuPGjQSDQZYvX87555/P2LFjeeWVV8jKyqKlpYWlS5dy2WWXcc8997Bjxw62bdsGwKFDh8jNzSUtLS2xnkWLFnHPPfdw++239/nvraMzoghqvzmH1oKU/Htf0m3c7AlSWZAxTAsbGKNaFIaL2bNn8/3vf5877riDSy65hDPPPBOAK664AoCFCxfy8ssvD8lrrV+/nl27drF8+XIAQqEQy5YtA5SPvmsrkKKiIurr63sUhbhbyuPx8OGHH3LVVVcl9gWDySucq6++GoPBwOTJk5kwYQJ79uzhrbfe4tNPP+XFF18ElBDu37+f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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "repeat_shuffle = [n.numpy().mean() for n, line_batch in shuffled]\n",
    "\n",
    "plt.plot(shuffle_repeat, label=\"shuffle().repeat()\")\n",
    "plt.plot(repeat_shuffle, label=\"repeat().shuffle()\")\n",
    "plt.ylabel(\"Mean item ID\")\n",
    "plt.legend()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "colab_type": "text",
    "id": "ianlfbrxbDco"
   },
   "source": [
    "## Preprocessing data\n",
    "\n",
    "The `Dataset.map(f)` transformation produces a new dataset by applying a given\n",
    "function `f` to each element of the input dataset. It is based on the\n",
    "[`map()`](https://en.wikipedia.org/wiki/Map_\\(higher-order_function\\)) function\n",
    "that is commonly applied to lists (and other structures) in functional\n",
    "programming languages. The function `f` takes the `tf.Tensor` objects that\n",
    "represent a single element in the input, and returns the `tf.Tensor` objects\n",
    "that will represent a single element in the new dataset. Its implementation uses\n",
    "standard TensorFlow operations to transform one element into another.\n",
    "\n",
    "This section covers common examples of how to use `Dataset.map()`.\n",
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "colab_type": "text",
    "id": "UXw1IZVdbDcq"
   },
   "source": [
    "### Decoding image data and resizing it\n",
    "\n",
    "<!-- TODO(markdaoust): link to image augmentation when it exists -->\n",
    "When training a neural network on real-world image data, it is often necessary\n",
    "to convert images of different sizes to a common size, so that they may be\n",
    "batched into a fixed size.\n",
    "\n",
    "Rebuild the flower filenames dataset:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 82,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "collapsed": true,
    "id": "rMGlj8V-u-NH"
   },
   "outputs": [],
   "source": [
    "list_ds = tf.data.Dataset.list_files(str(flowers_root/'*/*'))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "colab_type": "text",
    "id": "GyhZLB8N5jBm"
   },
   "source": [
    "Write a function that manipulates the dataset elements."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 83,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "collapsed": true,
    "id": "fZObC0debDcr"
   },
   "outputs": [],
   "source": [
    "# Reads an image from a file, decodes it into a dense tensor, and resizes it\n",
    "# to a fixed shape.\n",
    "def parse_image(filename):\n",
    "  parts = tf.strings.split(file_path, '/')\n",
    "  label = parts[-2]\n",
    "\n",
    "  image = tf.io.read_file(filename)\n",
    "  image = tf.image.decode_jpeg(image)\n",
    "  image = tf.image.convert_image_dtype(image, tf.float32)\n",
    "  image = tf.image.resize(image, [128, 128])\n",
    "  return image, label"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "colab_type": "text",
    "id": "e0dVJlCA5qHA"
   },
   "source": [
    "Test that it works."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 84,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "id": "y8xuN_HBzGup"
   },
   "outputs": [],
   "source": [
    "file_path = next(iter(list_ds))\n",
    "image, label = parse_image(file_path)\n",
    "\n",
    "def show(image, label):\n",
    "  plt.figure()\n",
    "  plt.imshow(image)\n",
    "  plt.title(label.numpy().decode('utf-8'))\n",
    "  plt.axis('off')\n",
    "\n",
    "show(image, label)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "colab_type": "text",
    "id": "d3P8N-S55vDu"
   },
   "source": [
    "Map it over the dataset."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 81,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "id": "SzO8LI_H5Sk_"
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "images_ds = list_ds.map(parse_image)\n",
    "\n",
    "for image, label in images_ds.take(2):\n",
    "  show(image, label)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "colab_type": "text",
    "id": "3Ff7IqB9bDcs"
   },
   "source": [
    "### Applying arbitrary Python logic\n",
    "\n",
    "For performance reasons, we encourage you to use TensorFlow operations for\n",
    "preprocessing your data whenever possible. However, it is sometimes useful to\n",
    "call external Python libraries when parsing your input data. You can use the `tf.py_function()` operation in a `Dataset.map()` transformation."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "colab_type": "text",
    "id": "R2u7CeA67DU8"
   },
   "source": [
    "For example, if you want to apply a random rotation, the `tf.image` module only has `tf.image.rot90`, which is not very useful for image augmentation. \n",
    "\n",
    "Note: `tensorflow_addons` has a TensorFlow compatible `rotate` in `tensorflow_addons.image.rotate`.\n",
    "\n",
    "To demonstrate `tf.py_function`, try using the `scipy.ndimage.rotate` function instead:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 82,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "collapsed": true,
    "id": "tBUmbERt7Czz"
   },
   "outputs": [],
   "source": [
    "import scipy.ndimage as ndimage\n",
    "\n",
    "def random_rotate_image(image):\n",
    "  image = ndimage.rotate(image, np.random.uniform(-30, 30), reshape=False)\n",
    "  return image"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 83,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "id": "_wEyL7bS9S6t"
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "Clipping input data to the valid range for imshow with RGB data ([0..1] for floats or [0..255] for integers).\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "image, label = next(iter(images_ds))\n",
    "image = random_rotate_image(image)\n",
    "show(image, label)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "colab_type": "text",
    "id": "KxVx7z-ABNyq"
   },
   "source": [
    "To use this function with `Dataset.map` the same caveats apply as with `Dataset.from_generator`, you need to describe the return shapes and types when you apply the function:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 84,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "collapsed": true,
    "id": "Cn2nIu92BMp0"
   },
   "outputs": [],
   "source": [
    "def tf_random_rotate_image(image, label):\n",
    "  im_shape = image.shape\n",
    "  [image,] = tf.py_function(random_rotate_image, [image], [tf.float32])\n",
    "  image.set_shape(im_shape)\n",
    "  return image, label"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 85,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "id": "bWPqKbTnbDct"
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "Clipping input data to the valid range for imshow with RGB data ([0..1] for floats or [0..255] for integers).\n",
      "Clipping input data to the valid range for imshow with RGB data ([0..1] for floats or [0..255] for integers).\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAOcAAAD3CAYAAADmIkO7AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8QZhcZAAAgAElEQVR4nOy9Z5Qmx3UleCMi8zNlu6o9utEG6IYjLAGCQIMkCNEClGhHIleGI2kkaiQNh6udOSvt7pwzZ8/M/tg9q5VW0mqOLElxRFEUKYpGht7AEiAIAiAaQDdcA2jf5as+k5kRsT+eiawGWaQ4AFEa5fvRVf19WWkiM+O9uO+++0yMEY011tj6M/tin0BjjTX2na15ORtrbJ1a83I21tg6teblbKyxdWrNy9lYY+vUmpezscbWqTUv5z8RM8Z8wBjzn7+P7f7eGPMvfxjn1NgLa9mLfQKNPb8WY7z5xT6Hxp4fazxnY42tU2teznVqxpirjDHfNMYsGWP+EkCHP58yxnzGGHPaGDPHv++s/d1XjDG/wL/vM8Z81RizYIw5w/uBMeb/M8b85lnH+5Qx5td+iJfY2Pew5uVch2aMaQH4GwAfAjAN4K8AvIO/tgDeD2A3gF0A+gB+77vs6j8B+ByAKQA7Afwuf/5BAP+DMcby8TYBeC2ADz/f19LYD27Ny7k+7ToAOYDfjjGWMcaPAbgHAGKMMzHGj8cYezHGJQD/B4Abv8t+StBLfE6McRBjvI33cTeABQCv4e3eBeArMcaTL9wlNfaPteblXJ92DoCjcXVVwhEAMMaMGGP+wBhzxBizCOBrADYYY9x32M//DMAAuNsY85Ax5udr330QwE/z7z8N8tKNrSNrXs71accB7DDGmNpnu/jnvwNwIYCXxxgnALyKP69vCwCIMZ6IMf5ijPEcAL8E4PeNMfv46/8K4C3GmCsAXAwKoxtbR9a8nOvT7gRQAfi3xpjcGPN2ANfyd+Ogdea8MWYawH/8bjsxxvx4DSyaAxABBACIMT4LCpU/BODjMcb+C3Iljf3A1ryc69BijAWAtwP4WQCzAN4J4K/5698G0AVwBsBdAP5hjV29DMDXjTHLAD4F4H0xxidq338QwGVoQtp1aaYptv7na8aYV4HC292xeRDWnTWe85+pGWNyAO8D8MfNi7k+rXk5/xmaMeZiAPMAtoPC5MbWoTVhbWONrVNrPGdjja1TW7MqxRjTuNUfgl1y/W4AwNiGFgAguB6W5z0AwBd0i8bGMhQD+mz2NGU9pqfHAAD7L9yCpRX67NjTCwAAW0XkGfESoqM5uMX/nxhpY3KcjtXp0s/Se6wsDwEA/WEJAFgeDFGU9Lv39Cj4in9GIPLjEzj68sEDnJqViCzGiLOjM2fpfIwBoqFriiFtYyRlyx8FGP1d98vbBx8QS9qHIzYixsfGMOjReGzfvgMA0O2OAgCeePwwlpeXaYwcjcfJYwt4MS3G+JwcNdB4zsYaW7fW1HP+kG3fS7cBAEKgebGddYFA3qmT5QCAftlGOSAv1rJt2r4EymEBAOAJH8NyAAB48KEj8BV7sSIAAEayHNHT7+yo0GcvhQA4vvNZi37JsgydLnsl9lzeG1SFeEw6x0y8XjTw4uzYY4UYEdnF1clNRr0pnY8PfF7OwPJ3Rp/E5CXFg5oYwX8Cw04myHe0YwBAWVYAgMXlZUyMTAAAJienAQCHHnkEADA3t6jXXPH5rFdrXs4X0F7xhv0AgH5RYvkMPTiu4odK3jAYePoKi7P0QhqbIeMXSh7ssojIXRcAMDbeAQBUFf1hf2UAYe9l+rDbFAoaORL9MigqLK7QZ1nOYfNIBzn/HjhkrKqAYsCfSaTJb4mDARe1wPMxQ4wIZz/wxiAa+sxE2j7yHBFr5yYTCKJB0BecdxENjOxWJgcE3Ym8bIb/riortLo8RnK+OYXvW7dsxckzxO/PXI71bE1Y21hj69Qaz/k824V7d2jY1jtGnrCMBVCRp3Qdnq0lJKwCDIezRZ9BDlsBVkJM8TpIroTdjeXYdHx8FIop8LGjTdsbDVPZ2/iA5WUJUylUtsai26XzaLPb9i2LokXnXXC4XJWRtzcwVl0ybQ8Dne912o/8edrOGgGLah/KD5OAHaOAUIQ4SpztmGH0uuSrCIO5+Tk+Bn06u3CGrs21YXn/VUHXvnHTGGbOLGO9WeM5G2tsnVrjOf8b7ILd22C5jLKOhRtLn/VXaNYuo4HNebbm1ISs72AibJR1VEohCCizavZk4MNaU/8vfFVpeiK65IIk7SDgSZSFXYwo2dtICibPHVrtFv9OHnSkbeBHGGwpaKG4zOcfApDJ08Pn45xNnluzcEY9oa5HJQKopU+sXK8FoknjAAA2GiBL62C6aI4ogBQ18M+slWNYUtRy8vRx3pXn612EiY735fl0vlMp7ItvjedsrLF1ao3n/D7s0qso/dE7xcnuSEighYGxPIOnBY96DfEUuW0lL+BpH0HWks4kj2jEe6R0grpkA577gSB5Bb59zpmUpqgl/y3kPAQe5TWoMUocGAzpu5WVEu02eRs7Rumbdpaj2+FUygjtQsgI/X6FyBAuO0Y4l7yQIK5RfwOMQrK8BjZRLy/quUaNDNIaO4pzhuPzrvhaYoi69tU0Sww0rgAM52gCp1nGJiewacNmAMDx4+RVB/31WcravJxn2U//2+sBpPDpyKETOPlYDwBgAw2XdRy6+ajphJS3SC8ZLG0fY0i5OwlhQ3rwwC84R1uwxmlqQV56Ckl1J/SZhJCosXCErYMIj/SiAoCDAC0W8oJIqmG5XyDv0QnkbQprs06GFv/elfCWQ0FfQUNjiWCds+nF0hfMo5QJSQAenkicMymXoohQqP3OP4zRPCd4yeB4jL2rIFCQlUAwBJ1E5Fgbt2yla8taKPoEBI2NEsMqczkyvldzc+sHGGrC2sYaW6f2z9pz7ruKZHl27N4AAOiOA8dnFwEAYYVm6KXjJSynD4RVY40ACRnnLACZvaP+o9kQIFr9XUIvK27EGN1HAnA8jHi5GiNHjiQglLXCaQW8hqzCfY2o4upkfhRvFmItFGVwBBG9AYV+3SH9bLdztJmP22rTxY90KeStyojFlUL3R+cTlMcb+Dyy3MFm7KXZg0pGJ4aooJYEuBFGQ1xJecRYIyQ4vib5Ow9A/1bManrFMmrVbtFSZHFxCWWPQK3RLpE6huUS2nxdaDxnY4019r3sn53n3Di9AWObaBbdfu44AGB0ir6rqhL9RZrdF58lflt/IcKS2DpMXJ3sdibN8urpKA9CJt6s9r160BpBQFZdoVZxoaCSrmVD4quK16ulHyQVEdi9m+B1veVNWpsCRAIQIoB64WhRMGjSH5BH7HRayBkIklRQm0kUIz5iyPTBokxrYPXISrOzaLf5bxmc0XWrj/C8theQKwSTyARKqE0cXKX2cWrFGSAId7fuOyXdxF59dnYGADA5PoWrrrsSAHD8JAFC8w/MY1DRNW86ZxIAcOZFrlQB/jt/OSemJlL+jG/cyESGbTuJFD0yzkwYJnX3Vzzmj9JL2TtKN8t4i4zSf/oaxVgjeiv/M3E9BT0UjqoxRsNZeXwkZLPWJvCHvwsxKhCk76O1z3lo5TtnrL4UFR8zixaOmUeDwJxdfqujjQlU0skFSmQfDGg8VnoDtHKamDr80udt2qgTMoxWXOK2NORjWwi3XrjDxhgCfgDk/JI6Tz+L0iMv+Hd+0X0ANOsYJWcKNSNlaiGBTArAyfVFD8d822Gfz62k+xkXgM99njTRVvoE9LXbLbR4e/udq7deFGvC2sYaW6f2343nnJqarKEGAo5YLZvKeb2/cecExqY5T8kc0ljSXL1ycgH9ExxylTzbZwlc8Lrf55ZDaXmTMerZFPOxia1z9sxsTDpfCcUMDIKmKejvlhcXUHGmc3yCPL+4mGB8Spewe82zHAWfRyeSB+UqNXgrGdO0f2NTmqeUXOZwiDZXpeQjklMVgAgY9TSOnr3eSi8BPPXIQMbG8pctGXcElDJuls7Req9RRnKZKVsq6RKvmagAIwMt4xHStbQ65N29p1xmUQ01zTO5gULY6KuUhvFpbF5sazxnY42tU/sn5zknx2i2MznzOa2sbaJ6MQFWDAw8r61GpkimYmRTF2VG64/MUxK6WCQPs3Cij4LXW47XWAF1nuvqomEDqx4rFRTHGjCRQAn9jJkGgReVFaJ6WMvXYp2FY6BGuLg7zzkXr775jQCAe+7+OgDgyScfp3PNLPLMrtovjNFF5MQEgxyzXJkx1kXlOQ3C03PpA9qSauHHYjissMwJ+3aLPNso828zAG2ORkZHOL3iK/QYTLI+pTwiuzmpW7WcDmlZB+S8HX8WfVQihaztYzBKlghKKBZAyOk1GyPF5RYVg1ue71Wma0qLwOchYNHG6U1YWaEUSjEkD7vjvCkcfWIOL6b9k3g5J7ia3UQg4zyacJU1rKzJHVkkgCBjlHFkgh6gVifD0jyBPnNc3LzMmjzL8wM4u7qkK8ArKioPixzT1cqyFBgyRkOqWkm/MomsoJg2vczB21WbW0RFIBdX6Fx/9pffhp//1+8GAHzhc5Sf/eD7PwIA+PaDD2Hr1k0AgBXWzilNwBt/9EcBANde81IAwO/+/n+h655bQIeLj4eRX6ZoalQffsGtQcn6PCuswpDnNPBtZ5G1eOKLNPFVVR++Wp3LhA+JyqfhO49FZmAMvSm5vJyZw1lkJ3gPWI7JhZ4o+/BlpeoPpkbAF4aXjLu+uMZg+47tAIDRUULrVxaXMBj0+W95sl8HqpRNWNtYY+vU1p3nnNxAYIdzqXRJ3GRVxBrwgrN+Ju6pqXkzzT8y6FPMGCw/S9stzhGULuVQsO65fFRTyw9ySiCT3KBBreCYvYIxcKkyi79LgJGkTZSDCpsALI4GfIgael1w0UUAgFfddC3KkthL11/3Ctq/J4bL//Ibv45iSHpCrTaBNG9965vw9re+CQCwb+9eACkk/KM//gCOn3gWANBlkntRlAl0ETK/dZor7XO4P8LSHvloCy6XnCpt0+20NEc66FFUEm2u4JDjPKfmZ43Ra44JSaotAZhZVHnYIMR+Xg6Il7QWkQEvAaYiIrJcSvnkM8fbRMzMUXh/5OkjMuDo8LMmd8Xp/XnxrPGcjTW2Tu1F9Zw7L6HSnVBGVEOuVBAP5AwyTqJHyQGgRKhWr1tkrWmMq+mjirqbBeeqsTxDM/nSbA/DPs2mVZVma4CZPJr+4JnXmnQMofdIQTOMap+mGdfWkuJpXalrY5tAC9qizn7hMcgMegwEFQX9vPiSizBzZpa2i/TZK19NFTQvP3AD7r33XgDAS6+4BADwzh9/OzZOEeC1uDAPAHjDa15NY7C0jP/7N/8fOj6vjzNnEudVABkErQIRQGaFNW1dbtERkIVDhWgCpjYRT/mCbdR5cFBWOHT4Yd4xD4vwi2F1bJUMYS2Ug6XrRcBxFc+wSl6dB1zFvgq6xaiC19Iywx4zWNl/gGdkSvjCrSwHSnkm6GcwDnv3UyXLk4dfnIbfjedsrLF1aj80zzm+aRw5C0jlXZkRuTYvs4iMGgp3s5VncFlaawKAL4NWO8j6T2s1ok01f5rYTszVQtaVMdaOK5ls/uETf1WkNRBD7VgMy5tayoM9Z03PSr2irluziJy9DGtKabWJMyZR/2QXMSDn1MWuvecCAI4fP4Zuh9BFXxCy2O3QPm56zavw7FFaQ77jbT8GANi3dydOnz7Nx+Dr5Qu95ebX4WMf/wQA4NhJ+rsst6l6hcONKnodD0nzDNjruMLpuk6WZ5Mbp3DLj9HxX/5yWhe321386nt/FQAwx/xW5RzHmrwmEyxMrFP/wPvP4XkRLp8J1TAErzQ/RPbkPqGtkkqrZB3tLIykUrRw2yshxRjmaiKmcOhFshfk5WyN5fqAysMbEVJxMOe9QsbsHZfDcgqjO8oKcO0WgnAl+aXodCOivFDOrPoulAAkTOVcYgzpQVNWj7F6M1cXe5E8v3JfsxQ+KyDEJNsQuap+pI2+lFdlop1qlFReScGvMSg5XJIHWknudbCIj+2yDhbmKBQ9ZzuF/ps3bsHCCpGxM1bE6/cozfLqG6/HuedQeuDSyyisPXXypE5Chs9taYkApW1bt+OGA9Qo+2OfIvK390V6GDVnmyY1mTzBk8xgYJG71ed9y5vejLe95e0AgMV5Ov+R0RZ2n0upn1MnCIjJJQ0Gq6hZpkiZSZNhDViLTK5vW7oHFas7VIDqC2kOtHI64ZWrwmVq3yCFAI4LrIMPCBw2Z+wQTAh4sZuRNGFtY42tU3tePKdK+nPCP2u3YDORk6Btggkp7aAeUeKWoFUBrsszWMcgevrM82I9tp2GP1LCJIltb1Pi3nj2TiGFXMrqMVHLtgRe13RLjLXUTOKclry/ffvJKx09cggAsLjcx/QUpX6GHGr2+gHTk8yi4VYKC4srGB/r8jEl1OXzr1LzHx2dzGJ8kmq1nnmW4P6iGGoqQtIbEp10OxmuZCBIQCW4XKM9lfuQ4uxyiBsPXAcA+PKttwIATs0c18qdlLi3Sf29lLBSog6HmVlK39xw7csBADfe+Gr0WM1vMCR0pjvSxVvf+jY+bxrHr9/xNQDA1u5G1fh10mwpb6My5arziCYAokYvWS/xdNbpPas4ovEAHIOIQUEu+cO0nFJVE2uSLhMfIMIq3/bCKwjcevT+Z/HDtMZzNtbYOrV/tOc0PINJEt2mHDqMS+sGee3ls8w6XUuk6gtZK3gYKRKWbTKjEL3n9V/MjELjUq8n678YAzKpmRRApoKuabRG0JgapC8wvnwHXS/WZ/JXXUde5r3v+zkAwCUXXwAA+NCf/RU++pd/BQBYPkGz/ZVXX4p95xPdcNeucwAA/+l//21Mb9zF58bJcE6OG5epfEem63PA8Tpx4yZacy4vL6PFZNYg7fhc4rkNhsQNld4nxqQbo4JasvZcXsJFF+wDAFyw73wAwJm5U4ih4O15DKxNaRIv6Qo+b1upYNhNr34NAGBydANKRrwkMpidOYML9+0BALz5TTcDAL59/zcBACvLPUxOdXi8GbgbFnpdGl1EQB4obTGjqoep6qUlbQFDCS9yKav2AQCmJo3C611jU41ukFRK1AfD5fr0/FBt7ZdTECybinklNNXuUKaGI2jYmojeq9bUNu2P/rb2kipSmMCIyA9trGpIqwJC/INDPULz+GEsZPOonxm91KiTgtyklINMYXCbX4R+v483v/l1AICXXnkpAODk6VMAgHf95I/h0iuIfXP0KIEd1193AEsLhEpu30YSC4cOHcbXbr2HhjQf5Z9cxmVCmtREiyfPsby0tGrMuiNt9LnzWJtZQCXnQltZK91JbXWQrl2gTcP3syhKTG2gfOTVV14OALj/oQexsjLP40B/R+p6ZzGmeBJdWF7GSy+hv730UhqXEHx6GPhaut2uhpQ+CCLf5e9aaLfpRs4vEli1ddtGXHY57fcb9z0AAFhZmVMHIAeol6RJtzCnTCSneU2rP6UIITVKSl4lhZDS4iLWJEv1mfshWxPWNtbYOrU1PaekE4xLIaaGpLXCY5cSUuAPofW8ynNNi27xjlJC5DKHKB2TucKgNBVkwrLK1onaTi6CZSekUsQa7fFoeV/RJtCprvCv2rFaaMzXZqIQYhSM2LR5Cj4SB/fM7OlV+xoMBrj4wosBABfu58+GA2zhCpGSvcdv/G//Hu3f/H8BAJ//EgEw0ZMHLauIkVEOV6WiwwKdMQKEnnz6ad7Oo8tt7aT9QGLymFq+VwCNiLPilvRfS3pJAHDVZeT1Nm/ejKVlStWon7Am5QuVG0zHmZ+Zx7t/8qcAAFPjlH8thkP4KGGvpIwsOhyFTIzRNd90040AgAOvOKBc3LvuugsAsGP7ZtzyeiqNGxYfBgDcceeXYJywvgQYkntYuy59/FxSSExoGP9IEjCxlis5u6+ocy4tifhBPPAmutd3/O3D+GFY4zkba2yd2pqeU9eGmdFFsbB2nKZB0myTuK02cVT5kxgTEKNkBKnRM1GJCZZPKVZAyWkT50RmI9ZmOxZ48kIyaKm3C6nTas15yAnVRLm0PYDUiBrYbDXf9syZWV2baoUGC0N1Oh1UXggPCUiqPHmlIYMj05PjeN97/w0A4JYfJa9w2x20Bn3ooUN49DFKl+QtSsFYZ2AZ8Opxtcnx4yexfz+BNytc4ykEjxB98gzS5gFRCRoqJV9r+9Dn/Z6/h9bMe3ftwpGnn+KBEZUuowwNx+PeW6Frv+H6V+DyS2ltKGkTa432jBBAzdgcA/aO5+3ZAwDYupXaW4yMdNEdoQhh3x5iQm2YmMRohzzsFZdeBgA4dOhBzC+cWnUN+gzF58rC0EMnzyR73FqNrYyLrWMkmmpL61B5eAWEyn/Ia8+1X04+q8xZFefNmZ0iGEZtpZ7+Dla7F+ui2sSUz1NQl1+mCC3qbQUOYXOnOTZFNm2A5xbtwvwRQWaLlAOLtRsjiJ/cuVBrRVCLg/i7qA+j5F0rH3D48BMAgDfe/AYACbF0rpWKfjmcsyb1E5FrX1pZQatFD+GFF70EAPCyaw8AAB4//Aj+8//1OwCAb95PrdG3bt2k+VvJ3Z48fRp79+6uD3MNpEntCmKN96TsKSbKZyzxCQAFTxxbNhFodcVLXoKv3XFHGgfQPUsyoEKQp5+vPnAdxhkZLrU3jK/lSIVxY1GE1fdgYpxevuA9+ksUSguJvhgWsMzc2XnODgBA5ZPiheZ4xSEEwEu7hyroZ1rAjtrzB3rmUi+bNJb1Dm8AFbwn/7Oawvjmn7kGn/rQN/BCWxPWNtbYOrU1PWfGbtxlTsMU+SnfWZf4kSmqNZoXExg/wibCueZIkydV/R/hx+ZGeY6iUUoTF+e0Wt1V+3dooxR3zccpUeg+tByqSnlC7UEkYXBmNSQQgv3Yhkk88OC3aTPJi3Epm/c+SW7wrEqtA2i7XPi2NiIolE/bzcxSqmTv3vPxzrdRqHv71++jY0eDksfh9MwZ3ofR1MnZy4gQQu0zvia4FLZL/pJzeNZmCJFC0YL1XA9cey0+8GECYBbYmzkTNeUjIN40F2ffcN3LlWerbP5YK4YXTxdSJzGJUOpC0gI0isfN8kyXBTu2UfgbPLC0ROH0xCgr/tWik6TWx8fxJvXvVIaQ/Iy6BKmDmjgLOHQuq4W1PI5+9d+90NZ4zsYaW6e2pucUGQqXO2S8dhOVNytpC2eSC6qRCqQoOnVTTusEBQtcgq0F3JBKAXinnN2gC/dUUbDSI88zPkLKcuVwqKkaEelqdVwiN0A8ole+r9EEdZq9HQ+Jl0qY0REcO07Ftk8dIeBmLwMb8/MLSRCqVmBdZz4BQKyMgizC0sk519QbFLj6cuLF7txK67/+yjI6TDQ4fYYIDUePPYtrr6Y2AuJBhc0UvE9jWmsPIZ7SqHK6ACFO2UhLyzSOF55/Ps7fS9f19fuIwTOapQL2IYM+N73q1QCAi8+7ACssiqWsrhD1fmsBefCIoc+fsRSI5qs8fBDQT6p6rDKmKs61bd+6DU89SXzmDpfS+bTIVvaXgJQ+Jo8pC0vFEWuF7/pRqBfD8/PqorKtWiyGJqy074SzvBDWeM7GGluntqbnzDtcbZJZnZm1KFXQeRtqHZml+NZouiK65DlVHlLXGew5jVXvpRS8Wg1txlqpJjMY44Lj669/BwBgz7nnAQCeePQRzM6Szug999DMX1WFHlPQvgiLrJ0kSOh85bwTTzOKnEgWIcDftx64HwBwycUkurWwsJTWwzXld0GhVQXFApJjUA1cnsoHwxKbthHv9j/8+q8BAP7qE5/B/QcfAwBs2EA83YMHH8aPvfH1NDYSISjqn4qWUUulqPymqsfLmjxqemrIkpcWGW64njjEX73tNgDAZHdKiRFtlsy/4lJCm13LwXlZz0uDp9TEVzV+gweieMxaM2H+mZ6JTMdHCs2XWcI0+gAXhBdMKSDtv+LyJLWi5Iyg6/4g464iaonLLMgvTL0Jsnh+h4wjMNHsFSGALHd41y9RMflH/uA2vFC2dljLL1GeO81vCj9TtE1NDQDR9IaxtbbfvLOYVAlkQS43tYilviCqQGCBkk9vBAz+WI8WP1TvYBbJzi3Exhl78xuxsEzh0wLzND/56c/gtjvuBAA8deQZPjWHzgiXdGWrS7CIFcKXIGGZC8gcbf/woxRaSZ6xlVtU3J0qVe9nNZAoTUIamDPYIRNUlmdYGNDxrztA6ZVNmzfj3/yPv87jTTpAx0+c1vbo3RFKRQhnNZqo6Q8B2QgkkomJ88TC9vGlTlYyoS725nDt1VfTeDP31ZcePI+hN6C/fcPraYJY6fd1ktAwHlHBvrQQCbV8skyQ/HIEr0X2AtyVZQXPBd7CLDp27ASGrP5nMzq3quDyMGeRnXXMLFrIjWwZEfHm0jcEOD4PKTuLwdSEw/nexdTKIwoQJPtv5Xq+L6Q1YW1jja1TWzus5QVxnhmYFnuBfHVIiGCeo9eCWmgnnEXvIypWkiuleFpDoCx5WAZOspaDo83Rk07EozmeeoK4pqdOHgUA7DmX4PaFxXnVytk6RcDKe9/zC3jXj1P4+9XbKcH+Vx/7OE6fIY5sd3SMz0M8p1GSg2HwwmVGYfvjp4il8tRTDAzt3oVFlnyLTELInEksKmHweKQSOgjYwcdxVj3PgIkYl7/0KvybX3kPAOAvP/4ZAMDJ4ydwhAGpK6+6CgCw3KP0grG1UFfD96h8W/FOqQ9BYsQI2WJlZYWqWwDsZZ3bZ48cQRzSuV3/MmIDZRmdY1lWqv4uanYR4TlpBgJbJIyV1I6wRVLVi1SKOOdUAU+Ar82bNuOxQ9R6IlaryRnDskAQHSfRsjUpAnJyTH6ubFjdrgNg0NKmcJb2VW+ryPeM+cihyuC6L7z8VuM5G2tsndraVSnsLV3utOIj1nmXAGzmlNvoapNmJTWYPDuVVaUarMrB5QV8QIRoh6jma/AqigVNGWTYMEEAydwCFRcLxS93TmdOz016er0SHaYb3vL6HwEAvPG1P4K//htSnvvsF78MAOgPyAPlLYs85woLBg1atRaAywM65qOPEc1u3949NU/Ba5qqTFU0tUqI1BuPI1Nj6K0AACAASURBVArxYqFK62z+OTczj1tuocLknTsILPrrT/wNHnroIADg6pdetWpsjYGq04VVHNLVVSkJiEmfybm2Wy2UJdehbiG91hPPHINjT79n9xY6VqB1YJZVOvZy7TYt9VKDJ2vT8eT4tXSPAoFaKA0VJFvkNNIzTz+D8TGSgxlwCg0tudchERYrSZfVwT4Zbx6xCnDi6XUpbBLhgDGVVmZT5MHc5JIrpoaDCl2GQX7x118LAPij//MLeL5tbUCobXSrszM7yk6pEYS1HXo0ilSKRH45LLXJjSJiWnydgCNZ3DtELX+SmaE38NjA5UmXXkKIqbzM3hsU1WoGDRA0pxaLpEvzzre/g/dB+cUvfe1LAID7HvgWHFfhj0g+LVbIrYRQhBQ+cPBBAMCrrr8B7Ra3M5DOyQi13J28dLH2QAqzitHJ4LUIWYAbj4ghh8uXveRCAMDpUwfw2OGHAAAzc/TQjoxSjreqCi0qTiLbVgEjVeGrcY4lbNd67FBhcozC/I0bNwIAOp0MLOeDPXu28DjTRGatSEgCAvQ46/RlT2BRAoSk56jkf411cI7GT4CYiKC8X2EnLS0uYpkZQpu3kDKEFASUpkK/nwA6GpAy5c1FyUHAH29hoijs8TNsE4tJUOBW7hIoKKE3z6fDfkCvxfeMz/+FsCasbayxdWprr2o14ghaN6NKdZorihozqL8KUL6jMIUQrc5K8azuzpk1yHOB/Tm32rKJmyppGedw4hSxdT76ib8GALyVw79LL34JZmepXUEqK4vIhL0iHsIXqEo63wvPIx2dvXsodLzz7jvxd5//BwBAyd5s6C0ynmkLjgIefYxykA8cfBDXX0stEYpSQvAUYjoGWKx1tRCQN9Nwq6xVWtB3ucvV+4LBpYsuOR9ln3i2x44SKHbRxcQYqqpaXo+BpizLk/cyq0E8UhlcnXrxVVSPuXmaQsgMHey7gH6fZlmTBZZPmZreQkRlQCXubNZNVTGS5okJEIICQ3xs54QwnaRDENDtUgXPXV+/GwCwvLSMG264AQBwwysoF7v3PMpvzy8u4NOf+TsAwJ130fa5SaH72eBjSvwkvWKqSxfgkgveo0MnS2EyQBVKABXFD/syzi9cSqXxnI01tk5tbc8pUhC11ngCzhjlLHoFAXSbWGP580eZy2vAjsykwmc0mgYRNfNWp4WKm+ZsY6JB5Uv81I//C9qOF0MPPEhsoOkN48qm6XH7OeuSx0par6kxkaZQ+Fxf9+rXYP8+8qZ/+7m/pf0/fBAFEw3GurQmmzlDTKQv3/plXH75ZXwtDCS4Fgpem4pnMSZPazG/mrFiXZbW1lo8GbRVYGTwYtv2HbBXURPcmVmqL5U1vDHJM3jxnC7Tmbeu2cs7RWAFd8MtDEKIaDEL6JqrSLrkkx/7OLZsIiX5boe4vtbQ2JpgEbxUu8h6vp2kU9jb2FprRmFJKdBi8hrPVc6/0ghrirV7f/mXfw4330ztDDdM0jpb1qXLKz1smHgnAODQISKJzJ48rXiGVCApRqKCK+k8gMRokvtTlAVyjuKEU5vJmt17FFxALs/ru37llfjI79+K59PWRmsVQPAIpZCn+YWSlxOpy5PjE+10WxrqFJaZHJVNxb8q+Ev76HbaytbJWA1gOCxx0403AgB+5Zd+DgBw/7fuwSsPvBoALdgBoCwJKDh2/Fm0Osz8yTu8/5QrkxCZPme2CQ++5GmXlpawg7tj/cxP/DQA4KlnnsL7/+LP+Bq4DQODUo8cegwPPUgKcRdeQPoycN0aFTFNAkoPEzA6pFBWwzwhqtsIIwLS8jI7j127aOLwnsSNV5bP8HhPIOOx9VmSt7RG6HJYdewYiyTO7Eb5O4Nlbr1+7dUvA0CtDy68kMajx6CLlHvBVqhKIbRziB49BBzS7uLG1gSb5TwSIHR2B2lnHQZ9Oo/JSRrnt139VmQZ3dP5BQqrBZyb3rABh79C6Pn8GRoPa00ixp+tAhmS+HTGyw5Ek4q5jSgFBgzZiWSlUBglh5wU/CR3n+XPPxm+CWsba2yd2trF1pxK8WWAkeJWCbckMoWB41ljdJzCou5oDi85zUK8lNcSHM95FmHJTG7soOAQts35q3IYsWsn6cpMdGmGu+X1r1eWiYQ13S7NrueeuwfDIc3kMqN3Ol1YbokgoV1VlRo2KUmcrynLXSKJs3e/4sLL8GvveS8A4E/+7E8AAM/0KZUxNzuHr3/jXj4+eZhWu5VaGHhpXVDBsl6tkzynaB/BJMg+SIPJCMPeXzxGGQpNKU1toHRCWT7Ox7wIzklxu+Q7PZBJKCpADIdp1iNECb1pfJxrYcCMo+mJ3QCAN7zhGlRD0rLN3ApfU4/35REx4HGjewBra9ofAggZjZiEfWUVEEJCEWP6IWmaPbsv4GMaDAsmwXNBQqdD5z0zP4c77qYi9ZKf0ZaFCphrSwo5L2NUzkRz65lDPKtViK2lvzwvO2T/1kArP8Tzh8LjLT9L4OAnP3Anng9rPGdjja1T+750a6syqoCUFvPyRBRi1P+02IO6rIIVtkaUxkMZsg6DPjyrdrnCZGTcoT1K2y/N0Aw5O7OApQUCXsohbT/MK032p3UdWbs1ousGYfQYYxQal/UlTNDCYWm2JOtdIorQ3wqveGl5gF3b9wAA/sO//18BAIeffRIA8IEPfAhfupVKhrZtI9Dqlte+Hhknpgu+9hweUbi0QrKQNBVSbZzh9U5AH4a319IoOFRBIgISvur1aIauBo/CjezmkeDxCWdgwJ3DpSViTGMWw2k+AVkz7UHFBAzp2XnZZTuAATfv4bV7VSzz3/XgolyLYAihphMrJBUDVUpkECpz3ILBGMUw6u0SpCA91UeHVNQueQ2tGDE4+uxR/VuAZHUMpKmRVEwJMJgkYyqbyuVy7stpasCnCoHJ+lJSU1EdJypWjXTepBDsebLGczbW2Dq1NT0nA6eoitRRGrwWS4W+FbSygFGwqjAIpawrJGWQvCizstDuyOFLeN5+MGC0zAN33EWe4TWvpBZzl11xKTJeN0nlQvKMVhHOLEsoqXhA4foaa5FxykDIArJ+beW5KoUnQTOHxSVad4n+657ttL78j7/xG/iTPyUk92//jlIvY22L615OCfMWr4dNtPAq1SFVD7K2jTpu0nLZRANTLfFw87rObULFxAjLqGGrxWJX/dvhHREwbGcXj8vdyCpKRcC9hMdZOL9jcIHWzb44wvvfrs1wA9evbtjg0D9Da0xUVJFj4x7apuqpTKaMi0FElPZ94Koek6HitbReOwukRRhNpyWqoUlpkJoQlyK+Z0mMbJzeiLe97S0AgA988EMAgKWF+dTYV9aS/KiVJigxRuRYbShTRNOSbERI8r1YjbSbCFQcwUk2oApt7a/zfNmaL6f3DBogKO+zksU0D3SeZbCcLtHCY5tYEy2u1g1VRJAej6zJImmTGCqsLDFXklvMb5jagGeOHwMAfOZzfw8AOHfPDkxPcaiWeszT35Xlc/R8SAmPvk8Cwka1g4RwHjg0qaoIx9+lzIvHyIhwXhmMKulhG2l38Z5f/FcAgM9/8bMAgHu/eR+KAYXj11//SgDA2MQ2RG7pELy8nNJaoacMKCHD0wNOoVqsaAx8vhc5KHQtI7/oXBQdh8sYLBNjaqxDvOFhdQgmUIF57FIIawOV0lHvTmIZeU8hum/vhcMeHj8GnqamUTD5vPL08g+HxCIqqhF0O7Q/6RAXQpWuQfPcRsP2PBNQjCeNiFSgz1ZfrmgNRC3dIiG0FyDGl3jZNVTO9rGPUR66HBSIFT1PURlIoucUniMaWPqAyFzmvFYyJrlx7RHFy7wQozKPBlxSV5YBIwwYvflnqGv4pz50N/5brAlrG2tsndraiu8+4dxSUOvV1afiXuGiJAXyCC164BCz6AXleIoOkQAFRVVpekVaNGRtC8+h0a3Msbzg/H34F2//cdpvTe2O/i6gYC3WTJX83HO3i2nRLywWAYS8jzXYXxTcjbYZlLCmlVH4MhwO0ObmQm94HanBX7R/P+67hwqkH3zgqwCA/Re8DBum9/B4nOD9C5jiECN7USOsHQMbRRuX2jYU8SvwGXFpHXtAkQTJRrZi7gSVLHXHb+P9H4UtyDu6FpfXReLJIlgET1IuqOh8qvLLCBl53TZHDyOjOzDsUZmadRSxxBVq4hMH8wgt8hAWm/hnTOMsSx0z0HDdui6ft1Sg+NQuQXV/UwG2so1iPRpKoS4ADIshpqfIm2/bRmymZ549qmDfYEVSPxxuZ1lakjEAFr2HUKPFR7ssNY00oiclmsYxoORlUsFg5aBXatVKO39+CrEbz9lYY+vU1nzFy6KmLCfZXFYsl94gAx8T9amUCgegOyJ9K1jiIVaw7AmtSvcJyaECl2Jq7Z/3BXJW3evzeXzms5/Frl0Exlx11TW8fwGeMoW8tUjbRSQQJIltBW0BuHrdmrmk0ypgRESEYchdZuvc0ZrJIKDgtYrwhS+84CXYMEEe4slHvwIAeOLhz2L3+SSetXUbFTIXkdZ6WXYabVCyHXycgAE8aJ0Y4nH6OTgB16F1aGVoH1H6y2T7kDvyHuUitdJrjQ4TH2DIoE6Lm+MGAwupu2Q3UtyJmFGlx6Ck6+t0L0HOgFSvx4QHR/sqe49hdIo8pg/n6Rg6MOmDcYjoC2lCrVFUonEimdahxucUcZOnlehs9T0LIWJsjMb7vb9K6/8jR1+PY6do3X/rrbcDAHaxnM2d99yD4ydoTLXWs6r0XERN0fmY8Aq32ocZY/U7edaG/RIVg5rtdo7nw9Z+Ocu64K+UhSVBYICIF0M+qaySjluJBSR/12plmgPLVLmPXywkRKzF/Nw8t8gYOMpZYPnU3Cw+9BFCR0dYlv+Si6hgOoSITBrm8CmGWCkbJOOcqrW5XkNqz7ia1QIAjuPygEpDXG01AAYPrNU5S7qwDYslbNpME8hom9T0njh0Gx596CN0Hn0ir0+eQ6GpL+9B1b6Pz2KCx28IBEaIQT+jr+D71CbBdgd8bsyawWm0xul8ixlCecc6bRRGmjEJcTsR7PVaAusoVUcRPYFKxpxD2/shNo5TZ7O4zK0ihgQQDfsB0XCbCs+drc0AkUGlKMiznYerqNxMZacEnYbREkGvfUXpczqPVJQfdbJcbc45DPo0Htu30qS1e/cODHlC/7E3kgKG6CP91h/+ET75aVp2BGYdGWd1AvFynOABcRi8TGrFNMErmi/huCnRZ3XEuTn67JrXXoBvfOEQflBrwtrGGluntqbnbLPCWKiMLti1c7HozGaA5YW1yG3EaDUPaXnWyVuZhrGdjuS5OEeUObQ6QplhAd92jrxNx293RLdmFEdPUrjyoY/8JQDgR99wEwDgphtfh7lZ8iwtSdCa5NkqZsK4LKQWhGfxL+vAQ13wWpoPSewj521hkYvCHnvjKswDnC5pc6uISy59Lb55LxVoHz70eQDAnrAXADC9bRmVfZbPjcOhGLRpjpycc1ZVqp2ch2GvV/SRjZL36J/hpULhVLqkYjDEhqRfG8QtiMsIBuC0SjSU0+z5eQ1F2yXlbCvOY7ZsG0VFbfDaZgvvaxyBIw5bTPCxH4bNdvKYTvE4i1dt1XSOEgiUBJ5rlR6aV39u9YcsRQQIHPQGaenkhfFF/71w3/kw/J8cLR4PT02sAFjRVPZBlyoFp0s0qms5VR7s8DtShByDFYqoFhfJI0tf0h/UGs/ZWGPr1NbWrW3Tu1u6iJyXCb6QFADPYC7CZSLcRDNF5V1K9HOs7zKHnJPVrZZ4CKnJDOol4XlWy1toiW6uS6e5YZpm35MscvXnH/0LAMD0pk3YuY2S9BGSFPdaxynVJr6qYLmJkDQEligAtQ7Hkvc2Jq0rvFS2MO/VV4vgrApc2MzbjyLyOPjAHbBHWnjJFaTS9sxBqjl8+iCJioViC7bslvWWLGADpyWgTWCzLFMeZ8UgFHgcY/RaeaL1sMsB3Wm+vqFENnxPYBBFfV2L513yShxlVO4RJWg45kUPe33exwgsbzeIn6PPsk1wDCBJG4fgD8OPkLSIAZEFnPBY67WeUvRkbGojESWKSW0ezra6Tm7phWllNGKTCpiC8ZPpiQ1KNHBc/xtNTFVC0kqjCumYRrwp/TeLRkktIvA2FpxCFlJhNeCKrB/UGs/ZWGPr1NbOlvKklmc5Yod5qH1JGjNyVdM3EsS1KlJ6Rbyjc1ZrNVPPnSQPKc1rDETNIIflKpcs5zVFbnTt4HKCz5eX6LsPfPS/4kcOkHLCa19JhAATIoKXFvHsKXxqjec1f/PcXin11vUJvI+rtkecgq8o5SHIpUWBLBDCWXHqaDB4EHmHkv7nsaSn75HUyLFHF5BxOmNqN6OqI+45Xeao54hUYvBpiEyIyeGY9tgepy+XngzobOTx5u0F6rcm6hpO0k8mWlghgvCasN02yBh1LXr82Shv3xrCQuQxmeRQLQCOq1Y8rf+jPQXnKWpALuOWCCGJaJAQ2rOdJG2nMgqrv6z/X6pknFUlBE1/8fN16tQpjHAWAK5Wzylel4/jfUolakTDDzttKvgDe9C2heWePitMgCjKEjsuoUjv6ME5/GPt++psHWEVEHKi7M85zSwzgJUXiwEH7yH8ClmY584mIEhSKBwTtvOoFyldo1t5hpyP32Jx67yVKWgi92+cleJmV1bw91/6IgBgkRsZvfnmNyc5flWIczDMvpFQtxRqByJawhNVpovRxjvWpocKIFJ6jBy2R0oX+PKjiIa0ZHxGQInzAZWhHGWWU2pk3zWUl3z8nuOYfZKO3+LQfnxnYqUIiyWEoPdAJjVwcx8zlsFz6NoeYUHmaohimT+T+8gvcGiZpO0UJP1lYPillLRQWSRwRrSGhn362R3tIIL7cwYpBcxgI6kjhgGnhcbHAUcPqI0jPH4yu5TPaY1gTK5jn0rpoPacSaumariqzyoPlej/Cud3dnZGVRQnmd3Vtl67vsl2VQUMuANbKUXicsyYOuslFcMI1+V3hFN/ZdXGYEVAoX/8y9mEtY01tk5tbc/ZkoVwqep4aVKToleVctJ0AqzX/o8ib5+3gopypew/f9c2CKJel0tLOIKs6W/ZCzurtWqJ9ctQeTcHWN7i018gHdOV3jJuPECplj17KHVRDAfqHVHTcQWIT1tCOLVMVHAOZxXAwDCgkdsV+LjIf0tewVeb4KtP0rXnBKk7t11nZpFvaY0SWWDHZcCp++h8jj1Cnmj3aBftMQ7lOcUUDWqgCV+7tKYLhRYQC2cXeUBxhq6hu4urKSjSRNYCAsuTyL2ofJU40gJ8WI/hLHtbXgG0pySNE+C8tFAUdo9FKJkTbBf5s0sQmL1kDAtwcUuHaFKFUGoPGIG4+rGsh7/fyepkBdo+bStdqU/PEID4yMGHMDYiBAIeqtzBcXSRsaxNCBHtgq6l5CokYQ+FEGscX9oHSZfwMfnwlQ/aQeAHscZzNtbYOrW1ZUocM+6LoUooSkGJl+qNyiJTChN9F0C1kQCSBCNc4sFqXRzD1y5XPqLUUWZ5hlw6UIvDdSZ5DVnwe0kPROXxdsdojfOFW2/Hk0cowf/ud70LALB/7370lrn4Nxevzl7ER3imdHleT+WtlhYVp3Q5t4ILBlbWbJFIBjG3yMJ+2nD4AI/LItCl/Vr2uoHXg64dsetKWqMc+gqlIWYPFdi4j9dxIrloaykGHVMe7/4QsUWeu1ohYoLJgcGAvEV3iUGRyPWfpUeldEyRNfFKnhA5jiw6BZOKRa6z3cWRymhAWa72HjHE1CemJQXYXZiSz7RNYFG09WoTQRSFj/pcBXUiJqxebIYa4JME0oTPXSMysOe6+14SYnvqyNNoS3eBLAGUIu+pDaPbqZVjVa3WHPYhqBcV0bIQggrYyXbWAQXTR/ddR9zex+468Zzr+272fenWWlgUZamfAlCGBEzU0FUYN1WMKPqsF8Nj1M278AyStZjQvtKXrmPpb6UlPOU9hfkhfUKdXrjhQawkRC48TClIMn00vWUKs0sUXv3W7/4OAOAX/uXP4aL9hJh2uVh5MEwsnIwX89Kwp6wGcJprlJs5TMPHqgGWFf9KcxgxP67XBRBKGgf08uTcACdmkofLkY2zeDadFmaejJh7iq5zdDLlI2OHx5dD7wx0rlVvA7KSJqSVHiOGSzNoWfp94Sjta2xC2F1e6heQSfje7yb1v2k68cF8hRXCdzAyQWMwtp3HPVotYLaCvlaJ7yPRdXRPIQcxiUxFFxiYHF/ZeWSBVBos6y7FsHYC4Wyrv5yps5lRdH5+niaou7nDednrozPJE5iKeNdkAKO8pEbvdyUFHdqns0Ii4ifdKi2WENH06PVZ/EGqyJqwtrHG1qmt+T4XA2ncElVnR5Tc8lbyltp6jS1W0GZBgx7NOr1WAZsJ7CwSJ5yGcE5DEoG++8OeLuY9Tzvzgx7arMVacXXsCjNWJsbHsdijNEXOKZvRsQn1UMt8Lb/7h3+GVx0gRfO3vvl1AIANY8TuqYqgU5wxXBZmBqrPWnqahW1FIWrmlhEZ3Kg4H5hjRDmZXlTvTKm8WOkmKVq/DkalWca2MV8zt3iCaqyx5Tze73iGOOD9FXxMz0CLa6MvnpvHr5UB1TJ7Tg6hR1gdpH9mBaMTdPxTT9P2p+4rsO0y2m7zlcQJjsN5lIs0lt0ddP87k6xz61N/Tkl92Gjh+FkIVhhCy6gc6SuFQN3FTUWlZnDnwmasb6Qes9LwXToDAKiFrn7V/41JZX51QKjiHPBXvvxlAMDhh6k6ZKTdqRUh8T3IDZy2qpDjpEhJAElpaJVlpsYkE9A0ohhyGkaXfB6oRJSAtrv0lVQQ/u1bj+N7WeM5G2tsndqanrO/kpq6WEgvEwESuMrDWthMZhFOAiOmdQjPSFQb2uE902fS9HQwBNodmq3P5U7O5+/Zi/ExAqFmZgiC3zK9WdvDPXb4MABg0yaahfNWC48cop4ZO8+lesSlxRnMzdKac7JF+7/19nvxuc9TQfJdd9FM/uv/7pcBAOds2Y82z5LRSPvBXKttgqRLIglnef8gjCGPBVZERzgNGAZ/UtYaAnRIfWlkz5+1ci2ZGLL3mNo1wPjDtN38kzSO05dPwEap92SxNf452u2jf5LOww9p+6LXR79H5/0Pn6Sf73w3gRJnHlvAnot4Rmfv11sawbHDNFbjm2m9ffxwS0GDqXNYgZ4vatAfosUq9tCu2jGlpzg6yqJBLLnxEo9ftLT/Nt4Hq3WzjD+YkNadtecpnkVIUEIGoiowJj60wTPPPgUAuPNuKrYWwNGXHoGZP6ZVq1wRz6nK+Q7IUsJu1bGNUVEzKbYuikIlS6SUufIBw4KfD95/V1pifx+25ss5WGHmjI2wTkSRRYBZCPBe9Vkk5LUulVIpP96mUGRmhsLPzRuplOiV1x7ANVeSHs2eXUReb2ctFYdut4Q11MLSMuUHX3vgNXQ+HCovLS/hTa+7mc+cS4eGyxoan5khmt1P/sRP4JlnngIAPHGYWDuf/Swxi665+jgu4W7XbWkxgALRCEOICduRHko/dAjhW3x9NIEY134O6yXaVC6n8gSMgvoidRSTnNhSZTC+l659+Vme3JYX0R6nSSdmDM71aZ8rwyEO3k7XcskBUlw4Mz/Ezq00SYxxwfazT/PLvbQJX/gLOt/p3RTWXnjVAN5TyHr6FN33Jx4y2H8xHWuZS9GmzqGHy4wGVAwSyvNs20AUXR5B4mOOyIwsKU+z4OuIbQwDlacldYlxyGNpJDSuguI11gllMCkjiJqDSnVajy9+kcj4c2fovssyLEarChK+4EkFDmBiv67QfNCiA8nFSkhdlIV0xtDbGQF92GVJV1YRZSHlceDzeG7J23ezJqxtrLF1amt6ziELPLdHciXBWwE0OCJwtkJZSpMg8ZwZ9L3XpkEGC/Pk4i+9gACZ9/zsrwAAdpyzXT3ssOCSI+/1GIMheYD+YEn7T8IwKMIpGwOj7BsBA1qtDiqeuTZNb+bTCdi1lTivb7iJQuK5BdKGHR8Zwfwc5Q7yPDVFsgwIRU/bZe4pvqan4UQ5b0jwPDKverhaQGwCIuP2ST8JfJ0BfsjcZPYsfqGFURbKM9vpl3LRIQ7p+B0um0NGlJ9v3bGAhx6k/Y5up21sLHH4fmb/LJKnz4d0HZ0tFr5HIezRk8QJ3n1Bjm6Xjn/oKfKmY+cYtEfo+noLNB6zT9IzMbGng9hl8MQJbznRmFSIOXjYiu6V7UjX6Dkel9tqOrfS57SrTH0h4EcYDX+VjaYi1A45g37izf7mM5/CV28lfvMUL42kT2fwJvXs5JC0GqTyMMnFmzySXAxqqnvSoKoqYUWmygl7zaGKoshHz19RVJrvl+hSeN/Xv3kv7vzUk1jLGs/ZWGPr1NZWfK+Y8VC2EksnCjGB11NlQOQkflUIdaVSyf1clMjaDjlXoVz7Miq+3bmDvNnKyqyWDIkQU4wVhpU0mklxutNZjCsFRHbfWGUISTVLjKXC4VLhUPgSGa99Z+dpvdNu0+w6GJQYH93O27NHziJskLZw5HErz2rsMUefAZ7AzVzzwiHLRNSMq19spZ7El6tLmazLEBnSt1y21GpZDMuNfExZs1gMF+kmzD1OaYGJDTt5VM7B7l3kRXcycHPk2x79GfrbfTtYxfAZuiZ3noN15OmvuILWkKOTGcZa5CnKe+i8d1weFKg5dZzV7g2xfEZHIzDO0cg2FiOzHVVJNwzmhDImnWDtek3nVfpvIDN0nTC7eFzGFdmJInniRrQ8LQFDTIYoK60Mue9+EiH70pe/gLHxEf5bYSox6ykDQhCdYvbkZYmSfx8y4QDtiMgMuTYXsAsGUhSFPlcjI+LfMlS8D1GDD5WvCZPRdj0G6WBYEXENazxnY42tU1tb8Z2rA/zQac8Tx639pDYwlqmFXeBEf7QR3tEsLDWs1np0R+g/x06QEvmxY8R7nZwY1330w5OmcwAAIABJREFUB5KGsLXEM+0jxoicZzHlUeqsnGrrghJ6k96p0Lmstaq9ayX9IdGAC/A8o0XmnDpTQJqsVmBElhc3OfbCtrnhkKF1VOhHlFz9EVrsyTsZcmlELHqufN42VCoFIhKj3vSQdWg9nLH38MNZjIwQyjnokZc+06LUyM7zjuK8rUzbO0bf2fkeBifp+CPjfL4cDdjeFNwYRTEbN9IYtDop8rnoAhrb0Y05nnyYzu2pJziJvok87uP3RWx9yYC34zVlZlXsDaqgHiE12aJZZiAVMSVCpHSWSL+4eAWM5TW1uZi3n0DluXZUeNxBUnsZ5haIHPLpvyPJy8XFBXQ4PVVpk2JJh8RaBkHW/xV8KQ1y6aOyP9AWga326j5BVVVpakZSOiZLMjCyMjbRQZ4/WyNNAEDR/94SJt+D+E4Hy/PUEawrxciF5HeiCJwhDEUDx4kAgkLqvm1QcApgdpaa4myc5jCxLLQbmJDtjTEpFaFV8ElhQYq5h0EEn9NiXlIZmTWqDSN7sMbA8Dm1GFQSPDzaqOVj2jIgjgORtWPlWIHIy0V4EI5fWFFrgDUInCstWH0tLHkUK/R9Z0I6SdPmHl6FtCfGmE87k+Hg0xQ+PnA/bbd33wImtlIIOCgIxNm2gbZf7o/jmae5mPg4TRbPPLaCvKD9Thp6iUYYs5oc7yNWnF/khkoLM31snKbPJrfyg5oB286lffRnaAQXz3BBNnJs4U7ik5HSTkvDApI1kVSRyVwqUtcCdrkbLR3bKnyFfuIRtMxbAQC5pUZQIVoFXuT5zzlFVpQDfPjDfw4AuPce4vBu27wFw57UuHEJmJdlmFeVhKD9N40WaCjrKRrt7bnMotyiXxxCVI639BI1tiRGENLSz8Cpg2t1lWxMY1uU2P9ynoS+izVhbWONrVP7HsXWNBOMjxps4jBogsOFsk2zyNJcgYUeS0GwVys9UHEMIzC3ixF9VuY+epR4hdIQyFdV6p/JE4yBUdxcNH/qbdnky7ZoA8Wg7sho4S4QRZsWUlAdlEepynMyk/sIwyrqoSKPGLAAZyi9knHC3IPYSTaeQQzcJjGdOMDj1pYKm7KlmqbLp2gWznhGz0ciYk4e9sFv0+34gz8Zx2fvpvPYzB7ivJ2jcMwdntzETBvQ8uDMqT7yLnnMYkhMKFdk6HbJVS4c4UoiTlHseqaPi/cTmLPAKuWbbYXt7DnLUWEzDbF5in5fmWA9JB5bW/TwxH20vyceIy/18p+aQK9HMb2QVGzL6D2zEk5Z0Td2sJ6igOgWdbyzSOCQNLUKZglgdpGM89Iybf+n7/8Avnk/EUG2SCQ2DArADIOkZSRVklT9BQTyPmhIGtTlW2gYIGkvUaUPUQkYssTwMSZdY95Fu9NSXVvLFdiFKPKZqMur72aN52yssXVqa685eeIY6xqcs4nWJlunKCkemHf7bJxHzhvO8Cwy8GVi+Utzob5HZ4Jm8ocOEgf245/6OADglQduwKZN3IhHFPFIm4LOQ2oOjak1GhJvmurwBKhJi2+jCvVOK4IrWJ0dzwKVQh9VYI8p6ufVQfhAiX2D4zxoDKyYqMXTQvGKJuqMJ4SNAn10uC5zZJTSNvMzXC86Y9EdpfE79sQ0AODp45tw8Q7y0qeXybM9NtPFrmlerzKZ4IJdvNbzYwgF3Z8dnHQfVB0sM6Q/ymPa447Ot95pMX+Ujv8g9105f7qHw8fpPC69hPWKBz1k0wRMnWbsbPeFdJ1zJwwuvYIAqr//9FMAgH2P9DC2jceDMQpDHXJ57Pm+iOpiHCqlTzjKGW6EcXvoHrAGbqzGVPit26WfX7v1awCA2778FS1yhgKIERJZCaPPuQTIiJeUGuXSe430RMwtGKPSPC1+rjT6MqUW+0ufloC0DpXC7dZIDpOJYIGIoQn91QHZWfo3Z9naaC1zFnOTYfM0oYEv2Ud5QMdgQxxGLPQJqWx1hTRuIPjIgEuZvC8RqtVk4f/yp38MALj19ltx042vAgBc+hJqirN961Z9yZRHGRKYkF5S3sKm71JHMZt6a0o/UZNp3jQI31W4s84iumn+XdDaeZQlAUClyD1KOBIDnBcERMqPnHJljego2YjADBEpDt+whcPElYD776DjH51lBk+YxQKHX8MhAzL9HuYzHktW/HuK84UPHzmB7Qw0zS7QeW9wBSp+mB4+Q58t9ejvLt7ocdUkhdm79hPS2R7dgslz6bru+wLdz23T49hxJYNUI7R9u6R9jI05nDlC4f5113LfzX4HxSyNc3eX5PosbHt1MTRCklWNrIAgDCpntqICw92eJvNO2+oS5A//8P0AgD97PzW0aue55pO9SGPaTJdEqkeu7epLBYQUGEJUsEdOMQavL7T0+sxZd8kYq7laafNBoKWQ/jmkLgt9DwKT4iXkdVlblRi+mzVhbWONrVNb03P2VnjR2wnIeLaO0v+GPdHE1AjwNAEVXS7EzTslVhZoph3hWWdl0EcVJIe5Wue2qAIe/PZDAICdO7l93sgIxrg6WGYiCmHP0q3hsNWHStvJBcV3KuVFSp4rIAFBSQQ16jZSjmUNARUmn0yDxWkHJwk7nylIIE2DYkjaOpXoEOUZDFdTBCm67tBJHjw4hY9+Yg8A4N5HjgAA5hefgZ+ka9kA8h6TGxyW2LPOtWi//WXyMO/YH2EzGofHzhBQcu22EXztNF3LPKuPnJeRB908ZjCxife/gfZ/7FBANU83d+N59Hfn73WoOMwzKzRWc8fovKd35cgn6bMTJ+gAT35xEVmflifX/E88Lu2AivPfWS73QqpHku4TIp2Hx0lI28O2ob6l1bDCn3/4YwCAT36S2/dJvjCkZ1I8YZ6HxFTSHLm0s3Qo+R4Iu8zHSmVVUqMkA8/3WVpjSM7ZWJPEruRR8CHpHAk7qgIiR3F5RtHFkJcYVVVoodJ3s8ZzNtbYOrW1ZUqYBTS7XOLEaQIQpkfJ+3V41lnu9xGZDZSPsNhVx2MojWz6tI+2aaMzJgXY5IH+9b/6NQDAza9/HcbH6LM51hclrVABlcRMrT2c0gponzH9niymdnMq+5/WN8/xwjZTNTqV3sAkskjevAp0biY7rce2Wm0iVRhGC5KFFOGrQqX94SkacNwZ6tnHcxw8QqSMTps84t7dHTxyhNsf7OBDVRb5OB3rfW8nIOiOz9M9OfDKETz8GP1+BbNxLtlotLJmf5ujnHFm+6zkWOYU0LeeFAX3FRjPkcFj7JW2LuLUI/TZ3rcxUWILebjT9y1jMEv7WzxKn03sW8SzD9A1H7qdfl5+M+D7q5smadtBtBG5ZjMaSa8cRc7F6iv9gwCAL3/pG7jtNiIYbN1GnlmaSo2PjeHEKe4Czs9EvzdIxc1trj9NVdoIhp7XQni0xuoaVVhArVqTJeHKCgHGZU7FB1QixXnl8SrwlUWtBdZiKklFWQNj1mYJrQ0IcZjYH3o8/vQMnz0TfnkRfnpmURQV4TjcqvwQRvpiMH+v03Ha++QV1xP489IriJ4VimWcPkmhzJBZJ0SPEoRNAB6TaHuSO7NyCTHJ8csLC5tyU1JiVOt8kt59frFiBhiR7xeQYRIho47JoSSwKPpZvraQpDoVSUiFtRJSe29hmM8WJaxZYWT0sj5+/ifp2j//Ge4Q5jwK7uYm5P+Xbwm49Uk6xu99mF7EHRzKbtwwUFT31Bna/56NLWweJ+T2sqspB7p5AyHtx5+YwcQEPbTPzNE+d1xrUTE1czOTuX3WxQRfVjlLN/nUcRbK7lpUzHXrMOVxeqSFo20638P30TjuO9CBHRF0Rrq1cW44jMFmtJ1Q+hwifP8p+p2FqV/9ymtxy5t+EgCwsMzhKYe1Kys9nJ6j+7G4SNf5rfvux/wKMazu4Je6P6TvVpb6GOlO8nmIwoWvIYvywhoFRAWlFVpo9AZGyiMhbUocjABHzAWwWcCQVRyLAQNIXPiQGQuUZzuf1daEtY01tk7NrCVzv+3CDREA2q6FMcakx1s040rZ1aA/BCtMoLOZd9ry8GAUgmHzYa/CBRddAwD4k98jLuQThylsiaiQs7ZK5ELp6INqEgm52Nq6JP7qforGxiRQXO9YpeLJHK7YmApqpQmNKohEgHmoTjRt4qMIgcCqWFJ+NgYCblxlU1MeyZX6FCZL0bUvIyA9QQtu5cCRxezMAG3WAL7vQQrZPvQXBUbHaBwu2EvfHX+8jysvpnDWSqheESB08fQ47j9M223fSZ5t+WgJrND2u26g2bvibtPDM8uYOk/SAnSd+6/IcPwxjkoY9l952sNOsDfYQtuPbuNx9A7Li4lZBQCdDRXKM5wq2s0R1iU5BhmT8cHnb4Sj6hDsCo+byJRUqESdMT9Ax8reggBKscGyuDkvq4phgS7njleWaV+Tk5NYWiLPKYT6W+/6JgDg69+4B1/9GukKzfI2Rb/A1ISoLTKzLWRwmp8Fn6+kXoBc9EzkR8tpUjUTZcrco2DCfm+F1RGHKT8vOdWHbj39HaGhxnM21tg6tTXXnJOTPNM5ryrWyzwTiOfMRgzyzmpOaytvqwq8wMqoPB57hFoW3HE7SUicu4MYJp3OGPpDloSQ+iKXJCnE+1njdB0sazhoCzanoIyo5TG7lj6TbtPeqhcNWtQr3q+vFSsx0jomhMMwJRcTB2GD1Pma4pllCjWpOFwqXJyFrwQU4RmfvfuG6Q6eeYL2d4Y1ZG+4IsPlr6L9bpmmv/vUxzNc+wpaN23aTWuascDlW1/oY65Hx7phkrxIr+tw6DE63+EJGrNTJ8izdDcb7DiHvOniY/TdzFMlRrZy6uU+Gtvzb+ng5CEWEeM0zvA0XeeOqw0WH6cxnWL2WNbp4q6D7AnvoX1svbSPc2+ge7rlHOahFnJnPWDoGQvMt3V5RCalbYbGPZhFZFxBFIxETqKf3FGWjpQFLi4uagmYdBd4402Ec9x0/cvwc+/+aQDAPd8iTu6Xvng7br+NhIK7HcEykuKkqTHOAEqXCUdWiDLOGLSU580EkmqAIes9SzmeKMQDGez3AIQaz9lYY+vU1ubWcmK93Umdlh0v0DpS9FxUiCzwJD+dayFr0Ww65AavedbG7Bma+X/rd34LAPD2t74FAHDTjTclqUhZD9qIGhBLxwpRZ0dpwydfUnE2fyR8V2PT9zzzmljC8roydVWWfeYwkWv34uN0zHgSESQL4lmexEkdKAwUUeZPAoLWHKoHNUGJFy2u9ewXNBZV5RAYxTasyXvDy2awWNA5ffN2Gsf3vDtgbJJm4fk5VrF3dB2br3K4gOszH+VO3y+73GFpnu7HOZeSFxvp8npq+xQ2biev1ONeKKeWWtiymcf+fPpsYW4BQ9A5TV9M6+Gpy+gcTjy0pJVEZU73eMR6XPFSlkk5Qdd0z+dmMH0upx2m6L5UvJ7POpV2MrdOqvJbiJEL2D2do7V9RObZpkLtJKJmlaQi6LjX30tJ35Qis1niHNY6ftvrqOP2m37kRjxwkHCFT3yMZFLve/BeLMwQjXG0w8+TFO7HqHKcqvg+KKAC9fyzLD1K0bKthOhCVoUKKr37XWzNlzMyqGNspl2XhRhheFEfnUdZSasG5uIGB8cC0vIwmspgjBXlnj5OCgh//ME/AgA8dOggbn4DtYrfOE4FqBMTk3rzpRB7MBhoCkUW5xI+B1/TExKSczT6Yst2viphjOS+zgpJTQsSplpusAO0lW0SM9Z94RfYRAN46bQtEHlUEEzC2sxYgPV1Cy+f0TmMTAIT3EJhcorelHPPHwOYhzzGofTRgxabtnEKoMflYfxybtw5gssvpf1+8s9p2XHVJRW27KDtN2yicdy4g4sQNvz/7b1puGVXeR74rrX2cIY7Vd2aSzVoHgoNDEISCJAYhYMAx9AxtmM/aU+xQ9vpGPuJ7e4OcZy0k6eTbtttdxzHsdsmxi3mOSBAAwIhIQTWgNAslUpSzVV3OsPee63VP75h7XtFCdpIcPX0WT/q3Lr3nH32uL5vvd/7vW8FvyTACv1u294GR2+n8zb7EnoApjfMYuVR+q6Fk1zqYhfuB29rcP476H0rQ3kogPESnZulRTqmM8+YwZyUS7w8lMxHNqUqDlrh2AanD2wE3Se1/xpgz6X3cTuZupK1AE19IOtGf86ldY2DStGf1nvH67VwuPzFBFaefyY5xN3ytdvw53/+YQDAgSdIFLufc/oOoNaJnR/OOmgt2+r9ZBOzTmrfsgyySSj7VGOS1k7GZKzT8ayRs9Pj2SmLCLx4FRaGyPGZrNVkKopoTYUorscMhIzHXtX3hEjR8OL+hltuwNe+ThYJ5551Fr+ejxftuwgAMDNLIXfn9h3wPDtlhcg9sFZo5SFJg3hsZp2+gkRSlokxR+Ole0As8UTwxmtZJQn1GiDjWpGkMrWkDx5GdHmVgxA1GijsERuVrshL5q+eRgX2B+/bivvuotn1ilcStH/wQMTCEcpGxkt0DV76loDFp2k/Tz7IRIntFBnrxQyOi+4X7OIItNzB1DaKYie5U2X2dKp1FbFBxvrAc3N0TY4+FFDsoHM6OyWc0xozG+hc1tzWtsj2EHZzjg6f0xP7KVqvlH30phis4mnfbx7gm+S+h8s2s1HTaZxixpgkPZxwbB00KrLS3zg+AhMp7SwMpaRBHch7ECdsMZByzmmJLa6JcDG0OLA2paZL3O7Y5RT2DVe/Ghnzof/oT6j0d+RJWtZ0XSuF1t7/iGYslogMBBYZXCbLLy4R8j3nsojmu5BrJ5FzMiZjnY5np+9JgLBejUNlfSblCB+CllAygZJDxJAFlpwsom2GIOZA2jHAM0xWKqfxnvvvAwDc8c1vYuONnwUAtVY758x96HDEvPbaNwIAAtOhzj3rRRizoNbsLIEXwRgMuTDteM1sgQQ0GdHAHfO+Apa7I6SZ27geDKu6a+eCl8W9U9aX6LS6zKkK1XjA2/CpK2G4TPv4xVtozfflL5yGYXU/AOAVl9Kx7TqrxtbN9J0HH2e365MVGmZ7dM5j89eCSxNZjoabrfe9jPajnAsYnqD3z06zKv0JNjSen8LKlGQLvI8PBmy4iqMBG0x9/daIbklZy8WXsu4qdyrtmjUY8vF1t7GifFnhEPE0UIqG6w6HW99HP7/oaubxCqfZeu1MUoDFhkR15C6QMtuHEuQBY0HZgpAFYrQwUgqT+wtmFZ2SvutZopQxrUgoSpIeV7+S/HtOHKd193/8T9RDWq0sIhdhL21wCoh8DF7MmK1LjeCSDDjRMvapn/gU47soITBLJgRdUFsnpjSSziVkTGy6rckQxAmL74HQeH2QohjEtEjrXiT4OeUty54+sDVzPj/5uc9jnqUZb/gqPbib+P9btmzCbI/avOZZbDk0Bte8jhTcdu/aQ/uIVA9TcxybdGWaQAidMdxY7T2aAaONnhuxzVO8/UZTescIcTOMGLOmkmFQp1NYVKzgJopvW7bT5/ZdfB9OP4t3hJ2rY1ajZNDkjIvYlOmYQcYA1pBbv4bfov/3dtfAiN5/nLWKuis1+h1KWUtuSFhh3nIzvYz+8up2KL/LY+Ew1yN30ed27wCY7ILRAboXCibRl+MuVri+KDlsdXQZW8+ih+fII7TfN35sgHm6LMjl+LgDOcTUeqgXwxgEabkKDCpiTuugwn0GhFHkWmp+MkyrRr562dF2r1fSurE66XtWR7AW6Hbo+3dsFSc7bpAfAIHBLauobasuL8Sp2uvDqQ+/CE5nSbnvVGOS1k7GZKzT8eyRUxptXVLKExs8maucK5GJS7OkiU3UVLdiwKYZA7EREit/WKaxYJT53zCYsrwyRGRYXjRkd522HdMMUs3MELvoxS8h0Gh+45yCReMBvV504Utw2k4SXtZZMstVa0iYHAIQhWZJObUmUJSJzeMAiEtruKu3Hkv6HtBxlK6qFUWImOowT1gAqpASDYlUO/bSNuZ3VsAiy7cMxUHZI3KkGLMtX5YXqJdoI1McicqtFKVWjpxAMaZ9WxlRilnZFfApUiFr22eW1NAiZz5qp8PRb9zFynFub9pG+zi/1SEyoHfo82yU9Bq6Pgf3LwILtG9T2zlTiJsAliTZcR5FtnduC1g6RN87vYmXQpUAJkXS3ckEhIoK5kgd0MQN6hKeIq1o/oRUB9em+Xa6KKWWFOFsCwgCqC4qDukFR7O808Gf/MUHAAD/5a/+BgBw4ijpOvU7hS7hjPJvIynwIaW6vvEYDTnSi42ISUu6zDx7oXMSOSdjMtbpeHbdWsd8xibCMCumKJhpo4JWGTQUcv49qIaqdi6y+TYWyXlYJgwuQwyHY6ywlV/epT9u2boNp++hqf+MXVR43r5lG/bupp93794FAOj1ac1Zj2tkzMKR0kvVDDEcEByfmqFrQO3jBPpuRX7GxhtWdTfNcYRA+rD1iNajTnRxIzAatwWeaK0y4mAkPFrrohrMilzKcIFn/jpDxo3G5TRHLmdVQG14mPtbqxKLj9F3zezjE3kazcrZ07MIBWUZ/SNUoultL1BuEzVCEdTiKFzkgOW+UgbDRq6LMUdOrpujGtewzDzK5zgqkAAh5vd0MeZeUGle3nIOcPdN9Pft59D2jxzJkDGYyHpdsCyKZZAjcBQLWosKSWTLir3jiE11E1Xb8b0WTGJp6esqoGWNwmKM8IIftWRqtm4m8osAR3fe/SA+8vHPAAAOHaaDnu4yMBgiRnwMouqYGQun3yvfmRT+wDiLl0Z/H3S9eqoxiZyTMRnrdDy7eW7FayBnkVlxo2kb5AKZySAqSmIaE6PTgrCsMzNjlDggcg5VzTNjDNizmyQ3X/Jios1deMG52L2LfrdlMxXPp6am4Xg/xmxQKh0J1gA10/0OH6FoaUxQwoPIcXpfafkgqR4QMhviSZSGJC8cvs2f+xYia9kWJa+VeP3jg4MpvZ4jOpZkWCg2cd43SumLAvfXae2xfIxpdRxh+lscpLGm4PM88mMM2Cx32jN6OGCCx8ka5Q5a4/U2C9dzgIaXO9wCicA9pNVyDcNEirxLfzRuhP4+PgYmXQxXBpjaw6r/c7SOHt3P/iyHPDJWYpjZzevu3gCDIf08u036YmdxZIXeN2A1gNkNdF7qOsAJL1vR1BRNxFg32PuR43X8Po5eeg0z5S0nHyGDxApZvb50ziVFA+keGQ3xxW/eDQD40Ke+CAB4/PEDuPvuewCQJSMArAzpvspdB4avN+8FvIkoxLRIskqTYrrcf8Ir9k2NMHp2JYRnfTgDlzJsUSJE4cgK84cJ3IMKWbFGiydaTX+FjGuM1VR3eZHLFXwCL7noQrz5GiIhX3jBeQCAXr+X9oNTxsF4BCMSF3Ix+W9NjFqj0iTHRn2IhciTu1x1SEX+WYCszDrI6TbYS38rVxIfMlL9z/CT40KuOWDbjUHOmzQERTgYmazE9cpIatwo6T9WQqvJUbGbdsE1ymyzReccSr3cITqnonBoN0b0ctrIiRFPgMt9lQCxbAtRTvEEG4DBAreCHeRWsCWDmd380Oxn57Ha4cS9PIHyRHAalf4we/wI7r2TjqljCJha+EYfL30dPSiHH6Hz+MmbTmB/Q39/GxPf33ANLRmOVR3ICkfPnwkw0pInIGF8FMFfBwDoxXfSKbI7+PzVCGsY5xFRH8b0rIvUSIMEDnEjQGbUKKniFq9bb7td2yJFQFqDT2hgJUipZVm670SO1oQ02Uj6K9q6MYQJt3YyJuOFOp7d2boW6Y2IxgshQLwv+T2oIRLnEs7LooARD0zWeo0hsYpefumVAIDXXEmvF110ITrsdzgeEQBS1XVqUxNNfR+UqSRps1R8nXUpJeKo5JxDzoZBGh1dan+zahkhM2If1m7ln3fyMTmF+5uKuhNclEI4FKFIJjdemU/q/u2NskcENDOczgUTUG6liFIy73ZcO+RSRuAr5G0AjnA6zUCMET/PqQjP39VdyXhfKy0iuAWO0h2KZgv3R5Tz9F39XXyNH830u8ZCBDEe2EUZzOgu+t3DDxJbZulwid3cZD27i2VQnprCoaNsbnQPbXfP7g6qY7Thj36SpEZedgkDWTNNiyQgiJlFsFN8/l5C7zMXIVoigFQq4iagUqmRTb07Y2jJx6yNP7ZlLcnHbgtc/rJLaH930lJqaWEBH/74pwAAmzcwa4yXaE0IcNxO6W3qgFJ+sJGyj0WuLY789RIsvUetogDfeUwi52RMxjodz84f4ugXa4PaJygaAMBdKrZIZV6hNxUuU51OWXyPh2Nc+QoSbPrRa38EANBn053hYAmDAQtH5eI9kvRCvU80v4zXBmXZWbWrzjqt9Es3AZEXVi+6jQ06cwrJQqOeC+ndUYgGszBRZnI5JuklNHACCUgxPaLlpcKRzkeVPxGDp0bokNMdzLIebVzi46xGqDPWkJUm5BWvJY44z/t9hAGk0APromGBC/zTLwrIZmkboydZXGpE2x89UaDhKbw7xfzbMyMG7PQ9NebrUleoDrNg2AHWJp5jHnXZxZApg5vm+bxvKeA5q9ixl81tTYOBYckXQ8DaZz9NgNZLLz+OHecwP3gslL4SxlJPZWGpGd/as2Gxkf8unexMEqGzBKC97jetNT1WDfq/qL9L32WJ4YjLQUzVu+rq1+Azn6O6kPB+rU3b1PWigoNBd8CqKS90ISqat4J3WG+Uo32q8awPZ6+khXyZO9R8QHW9+oa2xipylTMf1EWnKFnGeze/cQP+wTt+DADQYYBiOBZ7BqMKC3LQvgmappQsDJznZYvdIwctmrYRwYujmGgaGWgeIY5iIWjbm4+iAyNAUpG0iZwQm+daBOW6tV1QTU4gQmEZBasuyQ1vy7mAvMctbgzc5JzWznYtHryHfn7yLnq94nURgxVOzYXUPXRAnx9ebpAeSI11ysPNsc7uY7wseDTA7uGmcD6+HqfgM/sCDp6gfRuxzlB/r2FADAhDnnx2GsyyqLXZJsws2sbC3StouJ3s5CNUVz70wBAL0jbF1+B9qHwVAAAgAElEQVSit2S47BJRQCCC//6HmZ+bGTRjmkDEOCrYClHAx0ApZjQlvCDrooARqLnB2EpnzdVKkpxuPqOUGFsMImn09vrQn1ykc/aRT39Oa56+ETUPYccl/WSZHrz1yhVvpLHDRzVDyu2aJDUGFR8/1ZiktZMxGet0PDsgxCGg9gEZp5sCDCnjxkS4fHXIjg1U7VzUx849/xxlBp1cYKMa9nB0ttCI2O1QSlUUuXIsJa0wxuhi23PeLK1D3jcaTtUmECHZMbQ4lgm2lzyRIxCAyIwZr7OqRcOweRiLGRFHJCRJCinpRBcQOToWjKkXBmi4/UmBKc4abr8r4H0fpy6azYtURzvzwmXMbWIVu5rBiF7QLqHA7KJZNiHypsbyY8QM2rCT9rFzfg+jJ3hZwOlyTl8Da0vEmmvB3J0y9CXiAUpxFx6j6+P6PTjWJKq5yXrxDHqtDufobWZ1xpL2ddPeiC43W9//YQbNihzLAlJxyWMrN3XbWGq3iSybMrcRLqNwHcMSn+c+ojRZy03E+x+jgZM2rFbkVKW876jLzABmy0NWFBXnp+mc/vxP/30ET1nFrTeREMBGVsn34wbGrebRAiGxfyTmhYCo9U3JxCR9bxSAO9WYRM7JmIx1Op712f36DcSSefkbztc8WuzTxJTUWqsLZS3uIjFzHHes3HPfvSoS9bM//Y8AAB0WTCrLXktBLS3u06yXGB3CGpHhQ2tm1KWguMYkFfg2fO5lvayLem7utUNE7kbxDYEYjb8HsdrP2+VowOtAYxOoYDlamjyHH0sTK3ebZA5TU8LOoW3c+hUCOP76lh4e3U/H8A9eTtHvyOMOsxu5KM7fmXVcUhDscRmm4O+pa0xPU6tKzSSEAx88gXwrd7FsoM8duZE9U86bRa+iKFDnFB0Wn6wwepiOoRS19m1DjIbcUH0uRcne2dzZMnAYsVFSvpN+9+iXuriHeuVx9Uto/4spA/A1yzNR52cvERcRWBwuF9uA+mzAk4fOMoM0cxt7un6Xmr+0QtYmX4v5rXJAl5GAvvR7gf+iMQiWzpGo5b328pfi1ttJJf7OrxF7SEqGeV7AMyAq63TjUpbm1SczInopv8jCmNejpiUEdorxXQIrDe+jGupU6rXIzIcCqKuGd1QAIaOOUvKwDcZj3HjLVwAAP/q2dwAA9p1D5PXhygBemDPynTEqM0hOrUFIpjJrusitSRdA9IJMNHotGn1gfcpF5EQxwhiaAaIoxImSXz4N5Nt4nxgSjfQQISwhY7ROUcQmomTU2hU8qVQ17v4apZufuYkeytu+TWyf2U3Ay/fRQ3PoAH3uiTjG1j1cQ9zMaVHj0XCdzXADb8OW5p1+Dj+gVHvMVLON5+coz+Mm60f5AeAbcGVpiMgPSn8LPRT+uIE7g+l43PxtjzuEPv185PNsm87Xs7OnRIcnocV7CTgcHq5w7lb63e43MmF+voBwEVVNQ8E5g8AQdM4N75V9FGVJ9e97v030ufJgxJat1PBw2nYCiZZPsONbdw58+ynS771XkFK1hLw83E4DjahdWACO6/Ed1kra/8QJ3HLrg7RhRfX5/a6joGPOz4HNrAJZcmu2/WR9IxKZch8apYGeakzS2smYjHU6vqfIaWySWRD4ueG6VNNx8DVDyOLubBIAI5HO5g45myD91X+l5tWXv+xSAMAbXnuVhj0BkKw1qmwn7sdUvpHtrp51muCR0l9JV9EiOUtZw2n5RW2PjWjy9rXDN6px8UUIkXicVgyMQPqyPj6AaEmRLRNhohixMmKeK9ssPPZgDwcO0sx8xk76zjdcQZ+b74/g+bPT06xc1wkYEscdIwZ/fF1iZhOT/fmYOlwLbZaCAnV9ObTpiOWnGLha5Oi0m9lU0aLL4EbNLWboB/T6VBIR9cJjhwJmd9O+beEm6w4FLqw8NkaPZUfGC1wW6g8wczp919R22sdhPUDOrVbCGvNe1kSLiCwS7UURMesBoKziRReQluwnPnsDrvsoNT7P9CiL+dG3vQUAsGNbH5s30++WluhYyl5XM6bFRfrd7AyDZx4wQcpZLINiLQZDygzue+AxAMB//MsP4In9lKNPdVl7Vri1CAomCbfWWatLqNBa3nkvzutyD9N+GXrDs45J5JyMyVin41ktAI1JQPElr6JukeGQ4XyGvnszJaZnWRWO10LOpUlB1mIBTmf3pqLXpWWa2d/8+tfhH/0Umct0nKzh6qS4n1aTgBoNSdFfmEtBiRGS9FuTitAZw+3WGG1303Yl2b4fJ0Uy2X/bqK5t7g7zSXuUjqO+A3W4jd43ZvbNco3RyXLVcdrCo9+n7yi1ZYFLPNbBSTvZiCPRYg7DRe4RK9x1ZgymNtEMfvwwRdCtW6TU5ODZwHZ8lIkje7yWXJqnmGxxGp/QPKJ6gi0djtG2OjtL5NIAziJe+TydEgCoFkWNUBS/OvjiDRRhd7BsyoVvatB06Ls6WykKu3wMyxFeOMqSsBmXHKrlYhfZm+HDNQCAfp/aB+smx0OP0Prvt//F/0THydna/NwGXLyPAKRzzqfXzVu2YrhC5+NFF1wIAFhaplTk+OJJ7NpBpZrjR4mx9PjBA3jsCRJtu/XLtM699fbbUdVs2iX82SDgooWx0oLGJIPcavnGK2gZUfMas+ama3l/VjglMhy45/h37LqeRM7JmIx1Or6nNSdAjbFAqz9NIkBM0VH7Ka1h+YjkaZI5hwZpTQoAy0uEUh4+fEQ9VarRgN/jVQvWtIvLa6UOZf0YjfIXc5UjNC3hdmnzSGpbwsAK3JUcUCuSK3RCY1pkBcOcU6bN1SslmoY9PDz9zeE4OlM0SxvmquYICuEHL2tl3ubYYCzZyFgifo0uVS6Q9VhapLuEZswGtrNMhuhxk/hwDqx6icAmTdUYKJZ5n+ZYJkSsXmxAd56jF6OxK/uX4Xu0j5tm+DiHJcZHecMb6BzdcxtlIBdfVOGmr9L1+8fvofXc9kvmcOw4rfEkFFg3pR0iqWtI0HKobm0Uc2HshS3o+6VsV1cB55/7YgDA7/9vvw8A+PXf/C0AwAOPPa4mRJu3EqXvqYOHsXGWwvnMHL0eeJIi486duzE1RedxWBGRoSi6OPQU7fdTTx3kPa8V/dWigWndh2vEuWhpKY3j0ktqYBm8yDnjcIWUIq3aCJ5qfM8PZyN+hNICo7q1QWFiMXfx3qa/80sTfJLe58Xxzm2kcPCqK16OZsTAhEqpeVUPECFeZzNtipWRaqxBgSO5GXztk+izcHfpP/Qzp+ZOnIhjH5YnhFzAKDPAaEA1z8NHqWVssEL12n65BZ1yO2+fHsRgF2EKaibP5Kb0BQwzhETtoOYH0o2jMqd68/QeUzTIMr7QlbhYT2PIZaxiI+3b0gI9wYMjFXacQT+Pu3ws9RKaDj08nY0E/lScttoZj+VvUTo7s5cFoc/NsPgEX795Vv474BAY+Nt/O+3bkHAsDM/x+Plfo9R172V0AEeXBqrTKpldDF7tKbT6JQx+twBEKi1Ftivw8SSsZ74tn4OiMBjx/XHWmbS8+ue/8esAgA9/8jP41Oeup3PED//2TZtheT+WGSSaZ6/Z8WiIjB3Ltsxzk/hCjZpnt07JSwWfpzY/beJONUoZsvILsUkPbMvuQYDUVL3jktG40saOU41JWjsZk7FOx/ccOe+/k0CQsy7eAyCljqFxqAeiYs1pmbPKnDGtLlMxHRrzLPWb73kPAOBNV1+Nk4tUVJYuD2tsSllbQ5XZ1lgBBl+pZSBafo0lOxs3taieRfR6zJHk6b2upA0poPIUbR5/ksom9937AA4eIK/OGWb5XHAuGVjOzfVgcja4BIMH0SE2BJBFtvYbjYI2BHsus4iqXTlnkDNYJHzN4DMEJZkwiGYrFBvZamGa3rd4mLZ18mjE3BZpCOdUbNEgm2f9XD7vy2zLNzPVxXBAkb7H6vR+usH8diYtPEzn5fjdi+ifzwZGzLE9/VL6f29rjRefw43YTpqGC12CiJlPNFHt76TUZSKdqxA8HPbSMRmKiNFtgbWiHczHYhwca+8uLlFWctYZZHj1a7/yq/jq14jJs3iS9J+60z3UNWvpcgYkEiP9vMHcHEVM4YKHOErltZCWPOLmblYngbzUCat+6Wyu97pYYsYmtqR7VhMfal9peeVUYxI5J2My1un4niOnjHEt6zr6v/dBm48z6U6xES4TxEZCnVWX65dfejkA4EKGuWMIymnsdQUMqFBz5JHZx/sk3JTnIldB/6+8R8aEy26XFvxVNcbRYxSRHVMLp6f6ePxJ4so++RQtoJaXaV3y6P7HcPttfwsAOMYw+yUXnoc3Xv1K+vni0wEAhWQN4QnUY3pfZD+Xuh4BDUUlfkE1dLA880sva28rr217SLO1RP7YAr4kC8gC8v5qSZQN22k/NmwoMFzgThjW/a0xAqS8wybIUxt43fjwKBnH7qT3H7nFYeAIIFli1cX5i6cx5nXqrhdRtNtzqXR0lBixTIoI+VsHFU2zItnREAAFQC+kepuYHYDbxcdHjfgGZyJKqcWo+49CESLUNuLIuG3LZvyTn/tZAMDHP0U6s9+4+2+xiaVFhkxqkXuj1+np/SEmvXW9lNQi02JZ77VkLShibkkSR/CWaAjEBICGiQchhBYFdbVoWfRJBuhU43uuc64de86nWlGRudTdnSXtHrdmIZxlOVaGBBd2+OS84vLLAADXvPF1OOP0vQCAMTtcdXsd9PqUlp08TqmMdRYzM7SwP3aMHoolRnwBq+jv3fcRYf/W27+OxWW6qbZtIfBpeXkJKyucVvGNdOQIATwri0O8+kpCBd/1jjcDAC576UXazrawROLCFbNJnDsCBLakHxPKF5vD8BV9fxjwjZE7lH0GN7qp1Q6gCy+i1gJQxTGSDhGLGLqeRRB3ZM4iw4DeMzrSQLyYig28eWfV4iA4mnzuu4mNnrZ5TLFMaegxd3epQBzT+RuO6Hi3vzrCLNN3dlgNse6KOkVQB3HkUi82Opmo83mVA+zAHflgjMqqvgbG0kRtDekLGTuTHs4oDuRAFDsGARi9NCtY5XHfy9f9l/7H30Cv4NY2TjH7ffrubfMbsHGegKwBLzEe338ERw7TPTZgn9PggxoqRW1ZFDe9PDV4C9sod1pzb7g4HKPXNFY5ttriGOFZGnP54GBS55yMyXghjf/Paa0MzzWoYFqSJTLz2wQCSL2w9kFrPcJRvP7zJOD7hS/egM1bttD2eKbZt+8CHD0qYs40622an8PxY7ToHzKQkbOEyeLiEg4dIXBmwOYxeVGqtMTTB79F++hyTVMWFylizk3TNn7mJ9+EH/vRN/PvCDQ4ePg4PM++GQMfNpfF/TSaMdXW/Ji+24TjiIFm3/4clyk6TavGJ/q1DJ5Fq4RL+V2EgeV6mO1x+uQiIuvhRp5ox8sMnJQG5SxHloLTqLGF5za2TbtIUXDFU110yyaL6c2UMi4Tzofe9hqOa6qsToPQN6gbFvHm1Fg0kIrcaruekZJDlurbWjbLaxjP3FRGuaLZw3+7ApaBIKPerQaRI6bksDG2zx//SUSdQwIRL72Esp7XvOpKfOXLX6LzxoyvPKdrQQ3+LBK9zM7ZK6NkHyLeq9ElPWHFEtOSTrpRylJkc6J+V+Bnw0evLDezVi8lpv0+1ZhEzsmYjHU6/s6RU2aYBgF2zUI/ZgFRu615BrVWZz3Vc+UZqez3cfAgRZ4OG5bedMtX0fBiXtaZX19ZgQiW9Xq0BpJSirVGFfnmN87IXiqE3e1SsXtU1ai4lPP2v0cS/2+75rUAgH3nnw0hbch6pChLNLzQz7nnb8wRyPsaYBMiy+s6WwxQlrRvGZcEfKgVQLOi56tSFgmyRyPRz8NIxOS1U6wCsjGzqBZX97mWmwvEPoMRvP95MDDcT7rElhVX/P2C98tgwPzcgplIZsbCcxTwzK2tqwZWRNB47Su24CGY1JcZU8SPEEV+/kAsEHiRHEFr2iywBIvpwxjCAkTILIZOsktUlfSs1cCxOgIVRaaWHAVH03e87Vo8vp9Av0ceonVol3WRi9xpyW2F+bdLy8uo+cJr9uJN0kaWoK1RMKDL918hhrrDkb5fbC9hgooNCMagGYW1WuY51fg7P5xPPkLgyK7Tt+mJs0as3Y0KSLcEJRUxkz91+cBM06DPBysMJJdnKGfoIZOUoCw7LVogp9K8eWutHnhoNfcKpe8Eg0owAW//kTcAAP7hj1PTd5/BjuPLA8jTn2ctkWipUSnDiW9Qv4Qi43plj0jXLjsNMR6gzzaP8PEeUV9Jy61uciFNkyUSPGsqZVN50pfhVNZ7g4pZRZ7roeUsv78TU4okkp7GI2NKpOghyf7Xiwk17MxwytmpEAq+Qa2o3xmYbHWLXlTHstDSZeJTG60isw0vAXJcCliuK3p2aQv38zlYBFSIueTvTjVBL5ZiSP6ta9usgg/6u9GYHtKLzj0Pr7qc0N/DRwit73S7/NrDiROMSi+xFcWo0fMX1as1HZ9OrPwwzcz2MM0Bo+YAYmxSX9Cmchu17ivaUarMERIJ/lRjktZOxmSs0/F3jpwyTAyJGGyFAeJSVyk//pm1KZ0VFono75gWBM+bctZqdEwuC1EJmm7tAjuE1D7GQszdXhdj1qE56wyqp739La/Hq15C0vtSR11gs6M8y2Ay0aal4WEh5ppNs9rIqOx2UBSn82e5JFEfAQIDGjLlBg8DArK86P5WUn6qYTj6GpbRCcbDcmpk2NwoLBt4JsY7ztptX+D5Bk5hfz4HGZRfWivdSCK/QSMNCRs5QyidSnqoxEcAQi6yGuJHmZzNJZ1NztJD2IbAJ5ezsLe5HMaR+7g0JntQ+5cxszAMNEWweSeQuM9KOIded73VlHkTNUOouaG+1y3xisuoUfue+4kUf/TIEwCoaWFphSLmygpziKum5QbB59ukaCq87OlZApXmt2xUjazAsjZVVWnZJpOlSEwqlXpuBTBzBqYziZyTMRkvyPF9R04LB3DjqeToIURdC8qUFENahSqsLL9wrVlCFt22Re53iW2krA1tqJYugqAzMy8DcOTpg3Cs0v7P/snPAQCuesVlOH6CAB0BsEor2w9JOCy0YHwrhWaB46mYb7J28zcDIbYGVOhJDDJPwtcn+DywnyiXOVzPIy85ajhuHWuS8ZGvhBsaYFl1T6z8AmcIJlptBBb9VWQRURqCZR3KthbVqIaTdWW3DebR36VkABtSd9GaeXyVj6a0v5khHNsBxvAK3setKMw2Ph+8a2EPf3KIwLega7lTKx8VrdC5BkzU7w5eHcSTqVTArp30nS++mMgNn/5vBBAtr4yxtESA4AqX45oqtoBF2hRlFnT+pqfpum/ZQWWz2Y1TCNxRMlrmdeuwUrZQziywaNPavubGe4FdisIiyyeK75MxGS/I8X1Hzsceexp797ChRotDqYrb/L4YU8lFhyxLTUzmL9p2kmbLqE2ZUf0oBNaWz0ULlLL2YMnGH3nDq/GT7yIznK0bidf29FMHdTYTCUtFIoNBw43XkZ2BXJajV9Air+BSjYBsIY50xvXi72HmEaR/kbfrxw7VsvSkUnTszbO4VLkVtSEmQKwIsbQRaEarJV1sYZCzmnoUHyVBj6NRrTKF/Quj+2EaKcckBNpNufbbac0qyKxGIqMlAE0oRKY0GugFFK8Zn8HnhI4WuJjeb7cjRjp/kRHcaIV7WmhD/WoYNnUm0XGmklmK5DKS84lRN4CI2SlCU889m0yRbriRFvTHji1hMJBuJKYAImrfZZK9iej26ERv2UaZ0oZNFEE73QzDRenL5EwIRnV5U8QHgujW1quzS+QJ/T3V+L4fTqDdW5pAHVW9E0cva+EkxTWrUyVxggYSGBFjbD2UqSxj5Ybj7SruZC2OMGwuD+k1b7wCO7dTenPiBLGBTOa0/KEXU8SAwxiewRPxVez2ZtFhiwho2s43VzTpSZGbOFQwnlvSKrqoTdNB1qdt9GZYraFLN02okwGO3Hd+bOBrfqD42G3XwoqHj9QEVc8XKe1jfrMpoERsyVIrrt2azCHjso3WEtFWNkyd/EnJcE1JBb4FynAtNJaow34+f8TusnYfxC3cxtQCRt9tgbVOb8a1UldZWqT7Q4YaCZn0cMqx1NGjw6yyqT4tGbpcSjlx5DgabrIQZpOBUd1kxfBCg408oW/aTJPLDCso1MEndtEwAYhWWUtJm2rttZVDaepWc8gpxiStnYzJWKfjOYmcTllAMttHTX9URCRENBwhjbKHdJoSR4Q0WimVyFwQIVE6BCSlom0dO3oS17yRmD4/9zM/AQCYnZ7GyRPE3FEX4+hRi3co6+3I92Q2R4fJEGXBpYAs14V+UG0Y/pjNkmq4pmABnsV6vKPXYu40dApq0M4NgQqQ6Gq/gthQhPUNRXdf5arjKhEu65gEvKW1Ar00Bp6jpBWup0XqpmC5F1Gx9y6SuxIU90KATUwvPe9QUEnST6fLldjKgHh3rIeJBAh5kLRLZiwspEVLyCG8BECE3iGrqLNrlz9J7kOiaLubSkoenrtBgvcwjLzMMFtrwIr43aLAgFlMKiFiraodSgSdnu5j63YyT9qwUdhA9P6FQ4s4wXq/Q25gH49qxExjOP3rMgXeGrH8EFuTOmjnzqnGJHJOxmSs0/GcRM6HHia62tnnkJ8FRbW164ZW0Vpn6FRYFpqTCWLZlyD10KICCn1M1PpEfuSCc87Gm9/wWt48ffD48RPosdq4uGM3vkkq9Bx1Hc+ynaKLToelPYTyFppnTOQKdgWrXF+Vn6jGcBnNtN3eqwGQRqmJLADmaa3i7dN8RHsQmXvqa+KBNs0KLEe2vM9RJm8X/TmKqQBVhOceyZBzh3ecSoa+fI5qsU0srXqlCDYAYxCEKyuCVtHASGSzss6VzpKAaLikZIkfaxC0MynHHn6/7m4C80T1ECZhSqvP8JrXmMBDia0SSQGYTHjKQm7J4EUlkssVBWcUYxvR5d7ODjf/175J2QhvY37LDDZsJpygy6WrpZN0bo8eWsDJo/TzcCggl0kKj6IC7xInWMp8cr+GEL5raHxOHk4ZbSChdVrp1STET3mS8uCakBTNol45RWQzI2TrAM+fPXqM0oozdxHz5zff8yvYuZNsE44fFz5lB17IyJzLxuATcMW1wU5H0pZSO9dVB8andqWUWtF+NU2jAJKkRS6bRq9HqV2es7dmPKmfkUbjKG1FPqDyxGIZi+iy8SjZUCcrucEgNtpWpeeopveM7TF0+sSIqSI1f2fkRcE7KpMRt3v1MmX8CMqcmVJvrhoE5hgzCyH2GwZzdKI0G5C5S/h8nMPH5lGDm87dBv5coe2FzjDarQ96mgRVISBGGGlB1LQT6UZa47sZY8TKCjO3+P1PHz6Ez33hCwCAe+8ih7A4oFQ2d0ktoj/N4t/eY9DQ3+XB3TA/g06XFRP5Hjp6hCbWk8cGGA15qSOsq8LqAyij8UGXIrKSyxX2tmnWOsWYpLWTMRnrdDy3kbM1caS6EYdxtCJmXP1qEJOaGY9WFU3FqnNbKB/27L3Eaf21f/orAIANG+Zw8CDN2mWn1G1UnMqJoYyzFhmXG6TFLOcUOcSgXQYSQV3mdE/kWOqKGCZVNUKHP9spJVp2YKw04ArMbhHjFP9O9o3+1vgcqPfSZxkwMd0DsBzNvaTDsYLVtJOBBCtN5a9AzAhoMoFApeCPq9eoYdKu4X2NuYWIWpfMJW7MSZj4etqs+yp/7gyEQJ01pmGX6cDZgDsPsC+nc8QprME0uo6+35qN/FpCSimS9RhhMUH60JA0jbLEqdYuIDhoyUWuBd8cmXU4uUj79oGPfhgA8K37v42FY8TIGi6x7A2XOfJ+iZyjWZcNipom+b52p+me6E2VqSl/gc7j0cP0PQsnB0ksvcM2H5lTvWTlN4eg+sdOfTxpv4MHquqZJaL2mETOyZiMdTqe08j58P3E/D/9vJ36O5np4KPyJxUg0EV+WvC3C+sifCXK2CbLtEn52mveBADYsY1m6OXBEvrTxAoJrXVmI2tHjtJlp4eykBmbtj8eMyvIOt0pAYmAAM/fH6WkwjNjvz+LHvsmiPI8FZGEbCHTZKmAka7B2ZYhhA2oA63Psuw0AECvfxZiKWteLuaHE4hxic8XbWvs6P/d8tUwQZyWmXdb34fIHR+NrFVzKR0lGwDp9fSoES2t3x03QFszC2RbeD9up/eJo7O7ALm5hN83z2cKiBBuLa/PTSKMiKmxF36xsfo3FWn0bUCKd9fUMGhW/U7IHyFEbGDLhaePktHUYLgEy51DPRaT04xoXOu6tWAgqdvJ0LB6Yr/PAGIDLHDf58mTtL8LJziLqb0SDhS0DAFyP2nnUWi0pCNJpWrxxZh0lk8xntOHU0Y0IemtqExZYgtpN7jIEZqoDc1ayzNQxTWxYDh67CTe9FpCZK+55o0AAO9H/P5pKMNF2ElNw04cQNZl0CcvU1YtiKzW2GxC3DhtGVcjlazMRV6RAZ+y04FeEE5hm7pSwMnm3EAcimcQ9hthAPkeYAnIEtZQ7JYIkf1WDItVu2NoPPl9BDzA+0MPddF5OWrDD7Hfxe9xio56Q5/LGQF22IXAbt7WMpkfmxAcp6d2G29rO6Ij7SWhZpqMAJYivBrRUYrbWJkALQy3ywnYhtAgQPmG/MLnzHr1ElGGVTRKPg8qJxlaD+rqhxkx4NBRAgBFBtVXK+gzm6caCyAj/69VuU8ApDwz6PRYJYJ3ZzQYalA4cYweyhF75HhEFc1W/afoofcCy1EUhVEHeFlK1Yygj0YVKunQOMWYpLWTMRnrdDwvkfOx+57Gbta1VR6HScR3IfwI4yaaACsRU2ZoY3SBPRRhnBDxz979CwCA8YhmM5WEMAaNTzxHgISEC276lRJGVVW6TzmzgISwDCQwQnwVDSympohbKZxdq4BP1O+3zPZwBshyFdzh9zUpH1N1N+aZxmMn2UIAACAASURBVBK5NGyzoDbcEKbu8/ngQw/bYcHSGAy6FMXV9Mc4C2eE/8uW2GYvAugcuZyBo5yXG/nZAINPgQGeGguYMlfwZyVK5kCklqsmk/Y3/h7TQ4wi0yd850zLPFEZXFnKnqQMwt6aR46dwFSPzm2v2yoTaXsYLxViEpUWoHFpRCnnU0cP4QOf+BgA4NBxamjPQ6NMn7KgNLUUzjEAvyIN78zuckAp15Svz7gZY2WFjnmJQSWv9gw2SZJUcp9EVSMUk/Oy6+A4W+lyvb3mFrPQeAU6TzUmkXMyJmOdjuclcgKqS6XrP2OMFt6DFKFbpPzAUiDKFLJRFctF4fyt116L/hTN9CsrbLPH71kZLGqXScnNy0WeKwd3NEp8StGyzcVxOYrB0jKG3AI01aMo1etO6ftk8S9dB4hR160yq1qbJzfvKMCL18J6UMEu3gRKdPsEaoHV/UxzEpb5uYb3tTFTug3HdoNFznYWtqsCYl7Ngs6AYbdrywCYK4moEDANyyUdZ7fw5z6DaEgB0eLFfHgnIYJhsGQclAUGf7KUQWi0BJTBJWQFB5vWkBxZOh26PnfceTMWlygCXnXlpQCAM/fsxSKrrqOlsC6dQ4VbLb3yx+/7K9z8xc8CAGa4KdpaB8fXaHqKv5O9NjOXqZXHSLGJqFiDECYa79EwsAPlKIPPBZTY0cixNwE1X59pdiroTJWY4tY1UXWUEhqMVV3cU41J5JyMyVin43mLnGUhXNYUHoNKf9D/BXkLweuspA3EISIXWcuThMKdsWcXLCODIie5vEzrgn5vVjVE+30xQ2q0G0FKHXlWwrKpkawXxyPxx6jQYwX56T6thbKshG+E0icQuTTaDlHIGeS1si07CHLMqusaUDfSMyqEBjrOstuHzUQQjFFe24dnvpe2usaRlg9MzqiupU4Xb07AMsmhiYxYYgbRkuu2yykqGUdGv8TJFcSSnZfjSxGlPOHYQCp2YKOg4SxTGjg6xblWTaxN1hQo3Og5Ftphw+v4GT63iAb/y7/6XQDAG6+i9e5Pv+sn8LrXk3Tp0iJRNJuq1jXbyjJlDZs3UraxY3Yjts9t4GOm/a58wJgL/PUCvX+Ke3J7udGe4YLtIetxg8AIrnB3XTRw2WpersjY1nWFhrM/dT4IHp0Ol2b6dO2KbiH+zxiyC8GYubj1uFL84VTjeXs4H72bap4XX0k3SAiAF/1XLwK+kkIYPfBUDoFqiJ55JqVUl15yEcZLbHvAN+PuHVyGyBwOHSVA4J5HiKt66NAh7GYm0fbtlL7lea4PWcN8W3lwe90N6HCLkaRUTeNTexJfkA63uvU7fZxcIHBGMHhbBzibGCLy2shF5E055t2WnQ0JNFO91m7S5QFNLtFA017LwE5gzVcXZuDZ89JzCcOjhGVCepHTjWxAN2gwtZKzpQQUwzbAU8oqFvDGZFA9Wf0sT3YmpPLXqtYxqUtJI3vUzkBpKRyNaBuvvOwyzGykCeOx/VTu+Zf/67/FHXfdBQD4sWvfCgDYtWu3MnLEhqHL4NnUzDSWKl6KMGc2i4Dn7xpy+aOu6UGvyg66vFSQEl2WOV2eyL1hokchgCU/pHUuAcfCeQb0BDi0Bv0ZmmT7sz393WCJHsoha+SO2ESrqZq1ErzPGJO0djImY52O5y1yypifJ7g9xKhO0sLgEYCgqrxqrDSt9E9YGE8eIB/Nr991Lz52gArwZ+4lhfWtm6kh9pFHHsShw5TSHWKO7dvf/haceSZ1TIyGUkgea5mky8BRp6BZ2Dmn6Y1wa0NoNHLWnGOeGFG54uabb9bo/pa3vJXfH5QDKyBRExo00pTNXMuSQRFrc4X9JbKE2CiwEwXg8Q6RyyUZM3JUVS+2YH42HjIxwnDhPWbSHcOR3LtUepG0FQPAMU9U2sQi/QWApqZRIgasarHGpBXzjIb0SL2CtL8Z7c8yAz5n7jkdV7yMwKevfYWMhzZvmcPHPvEJAMCdd9wBAHjlla/EZS97Cf19MxEkPvulWwAAd3z9dnTLdB5otMoxfL7HwhDyAXXB4BJH0NIY1fbJJKMIRm0sy5xBJWE9eYuREBkYcOzP9jC7me51sbhcWRpg+SRbPjA/d8zpLcJqQPQ7jUnknIzJWKfjeY+cU8xVXNVlwrOOcAvrJqAa06w+rERBu1YywewczUh/9Kf/We0DM3sTb4Nmoo39WSwco4j24heT8ts5556DUUUzVyNNxdFgdpoiT55zKYW3Oa7GLbNTGtYlc+ClRSrf3PENorDddNvX8D/8LLkqF6KzYh18FJg9OR0L0FVwI3bOUSSEkJq3ZY3j0fJnEYDFwjlubjbcEC4AG4LKiEgpKoYAxy5FRtaNemweQbmq0mvZU68bKYNYk+mxRJVhkbVkEtRqMYZb2FC784ijkghw8Xr6xPIJ7N1FkfAbvO63AegxYHf4EHFl3/+h6/Dp68m1eszHXPF1r8eL6JTSvaLd+dpbqV46Tj5XY8xK7x1H17/JSxTqOCByLA5W/HKilGOYyBAdDNMOPZsQz26aRtmh4xIAcbRcY3mR7r/xWBQHkfb11N7UdL6e9a/Pwfj4X98MAPjZX34zNZ8i6bSMK+GjBoxZiUwQ13FdK8KVbMKhnEbpuHfCWBk3mOM613t+/d0AgI2bZ7HIgE3BD2K/PwPHduYNW5drO5mzivQ6ros9+eRTuPUOIn3ffMtXAAB33UOA0ysvexnOPIMQ04rJ85lJF9OzvKb3QcGHPGdkttX7n8S4pV4Y9CYBE+StK1GWLDGpCngJ7U79BcLQyWGdvJ8fTq0hJ15xkk7swFh+6AUkAlrSlUJkl+8MScAaqR6o7Cn5VCvVtTyBdRj9HKwMcP8DBBxOcdNCEwMymRCsgEDAwiJzh52k/rT93CKl161UWu4xXTLoPrACA4ARt/7VdYUpBpjKXEAiKzRv6GOiubpPPp78/qLI0DD4NBrQ6/LCEGP+OajRlJyY+F0fzklaOxmTsU7H8x45Zcz0S4WpZYarxhwlhzWyNUpk1hpNm7JaNHYanc2sYBbMj6x9jV/4x5RivujiCwAADz3yILpcy+oVIghtU1MsR5ksl9ne4L77yWTn5i8RQPGVr96KJw6S3k/mxHOS9vutP/JWbaIVzqdzBvVoddoeA9Bl/dSMU6l2KiipjgBlEQHRS9opTbo9BImAUosT4i1iq0FZ/D9JS6f9fpVwgtOUWNUDnW2VdGS7phUtsGqYaFVfqC2i/B2Hat5yKugpYm3dsgEZX5/D3O61c9sGVKonxecFEY7BKjH10M4jmzJoycyaxuu5VMMryW8zk9RbRGLGADXT0FRfFpmWgOTgC1HXi1ny8RT207hWOZMlTmVXlod60uVayX2bd7Lv6s85iZyTMRnrdPzAImevXyTJEp5NRmLE04KVVS07BliWgHA8hY58rRxIyfkDT295t8CVr7kSALB/P5Ve5qbm1SlbAJm6aXSt1PB65OhBWs/cc+99uIkj5oOPPEyfcwbdaQJilheo7HDeWdT3+NKL92HIa00ZIQSMuSgu651Op4+i4D5H6Rdd1au4OiwF71vmwMwJzTrJ1sc+8/2iravdGGVHo4uSjKSUBdP6Ti6fmELV5aOCRUVLWma1ynyIdVLkF44tUvbTBrn0u2RdrCypiKteTYZHN970eQBAHQIatd6THY96vVOU5vcg6SFLNHPGomAJEgltAtL4JjlP5wICOaP7NNBSR4VcjG4VNOMzlhUoS5GZ4fNeBdS85mwY/DHOJG3muBpTycryu4bGSeScjMlYp+MHFjn/9Xuvw3t/l5TYFb1THdMIQS913RA8HK9pHM+WGaJydS13mEful+v15tCfogi3cV4U1CuMeTYbjJK6+/GTVBK5+27q8v/izVTQvvtb38KYEbyZGVojGh8wHNJnl5l69ZPvouMYDYaqXi+vw+GKEikERex1+7o2lZ5T6V8NrZ6+5NORxEMdr1Gty5QL7CCCZIkSKNmAGrjmJbI1ayZrhBIYEEVMTKKDSSZ86k1ifQtTTlq2srOy/rM2lRBkz+V4A5J9u9A2La8fl5YHignMbSB+7Kiun4lihqD7YdVdQAgQXk+c+pIgQ1PFVccih+QbA4YwlGQQI+D5msn9Uo8bvf8KQWT5GvvCwDExIReXA2rJ4feLJ4zB2AhewmtgKcdYA3yXtfoP7OEEgNwlXR5AHkqgyQxK5i3WDLPXdaPpjRM3MBPUKSvnVGos+j458MnPU2r0tmvfAgB48vHHMeKm7KcOEif3W/c/iNvv+CYA4P4HHgKQFPqmpnqYneaHki9MVTXImDd77hm7AQBnnka1OR8NMr5tRBfX+xoy0XQ70rrW0QdL+bZJxVhh9prvmsbXCjDlhZDiW1rAUt9UECikNFiEsvNuEksVgrXKIyZASOqBxrbqrNLeFqKm1QpfSUoKj5q1XjuZPPQmcWBturVSKYW3y/szM7cRTz1FbC5hzriOQcPnIS9aVg1awkwlEdrXVEdVx/QY9FhlwqvGiahe12sc001UhtWY3zce1oDoMjlpRaRj6luP+Vkq/UgL23BQITQp1aZzFRAzsWOQ1Ftq2Y0S8E81JmntZEzGOh0/0Mj527/5lwCA3/u9n6Yvd8keTdtzuNWsLDPYWqIMfT4Yj5oX4JWkeNzidfTEMfzn9/3fAID3vf+vAQDbt25VcsD+AzRDLy4tKSFgepblR0pRcgu6wFfmTJZjgWUq3nD1qwAAG+cpBbM2JkhfoxgU9u92KXJ6n4rQknoJhzca6DE1rBgXEdV2sGAplbquEhfTrk7Zgvca0QpurC6yniIqwgZK3cItkMa001TevCwxmpEG3zSk4xxonGQLUoZwCCIqJt3kbbKFWCSISBciTttF2cjB48Tu2rG5B+1RN6nMIzxrbVZXub6USss5Dk3dyjIEEALvV1RGmG9xvMV5WpTzok+sq7FkRZz69mcyWM70bMHnHRZlzZ1J4tPlDBxnJmNR2A/pGjTVs3dbTyLnZEzGOh0/0MipX2pWgyMmGF3USBG428lheDEtxV3rLWQ+kfWozPKdbl8BmGpE0fKJw4cwZtmRgj0wtk71tUOkYQJD4xPP1DmR4xTZCo8urxtez6Uaocg1ddDitjRTN3WFfl86TlKXiXqBmNXASvRR+0oFSOp0eihLFvMSIkMMrTIMDSl5eN8okNaRNaoziEJq0LIMa9qGNGM71ds17Rin/0qW0fD6UlfKsYYN2mnOvwurtkLbMEqG0K4YlqQ5vvC0bnF+jvjOvl5EYN4xZL9jk+RU9eAl8qfyihxWm6+cemTBr2l9Lp1Q0UPNnqJmOCatc6XvWBT/vceg5vOhfb8Btdj8cWaT5w4O7GDOmeFjDx3F9zp+KA9nOmg++QiKegURDrUxOTi3sjJB6azoEIn2ECzAKYkASADQ61LqqnXAOiCKCxQjZ05qpyHoxRRgo9PpwjNCOL+JbqBOIWkwMBxLkzMjyllHjZH0Rg6x9aCuRuhC9GqGJOg1tbDJw5smjsQoEe6uINsBUVHjUt8iqbOq6cl5D7WmnWp5EKOe23SBHHXsAy0BZL4ZjcHSIqWi8/Mkhr08WNLjSue0RsbE+zE/4HItdmw7A1/+6p8BIJQbAOb6mU5SYzFesiY9eQImyvlppeih9WAJep5qqirapOLWmhnHqK1fTs2IQstZXUAzeYBrjLlhfCimbpVTSwlZhz3yrYP4fsYkrZ2MyVin44cSOd/zG38OAHjv//xOAAwUWIk8zB/1DQL/rpEpv6pVQVtmRkkrfIjIsTrVBYymM2r7V2apHCDMkqZtObcagj906CBedTmp1r3kRdQYvP/JR2m/QoOK2UCSBUxPzSEv2IRIHbGbliWBpGOSKtUaKXodkS7p6WeVSRQDhM2jEbORNqSQOLXc9uUbryURwy1aqrQeR8nWUFJlY1SFUAk9xqjBlNgarHCjtLMlrr/hRgDAhlmKnHNzfSwuUPTscAN01dQKkCjYx+Wqux/+Nu74xl28T8xLHQV0OHuqGRmqXTKT0oJlKwNJP0p5yKbaarM65TXRaMlD0tUYodmUkq9Cq3Gcs7QsS1F4sET7tsQyJIgOJw4s47kck8g5GZOxTscPZ83Jw6gaX9CZU1XsfFBOo8LypsWw0I6FFOmybM1aIkQ4mVXVei0g8tqqEdhfC8SNylkIm6bs9HHJJRQxH3mcOlbEOpC0Ten92q9ZlNr1IHIoVDpfDZQo8aCqlHDQm2JJl0DrQjouWXMmlXGJcNKHGnwNlwlHVtZkqVFaol9UHMjq/loFqFprt3YBX/o3vSjmU6TYe/pOPLafunX+9M+uAwC897d+A8drVv/LZd53yDnii3bww08SIeT/+vMP4sH7icPc7fI1iUGJJcqgiQmcWRtAv5PWR4xBEaCUJQn9ymo0TY6UUSViYjsiS9bF4bTHoGKeOzx678lnfO9zPX6oD6c8dI1PLBk4+V2NEYMRIwUlmme0P8kwJqUkguxFQEEURUedVfAmXVZRAIjKBpK74fDhYzhtJ6ndbdpEanbHT9ANiBgUOOp2RHrTKnJaMwqbZU53WMn/YvtQjdXuoeCUvqnrFniTjk/BKr/65g0xIDOSwjb6AWmJ6nDtM0ga7APyXMSi5Zwl8EToZ0NfaTruI92M0dIDdvDQCUyxodN1HyE7hPf+1rtbCgSRj71Ah126r3v/fwMAfO6LXwMAfOnLNyNjGU4ulSKaiGYtgBVDiwQv+5smEAHZUtN6C8xtO0mD6peqedSaMMOa+jZC1Ad15Rjt4/Kx1U0Oz/eYpLWTMRnrdPxQI+fv/N6HAAC/+qtv1mlSan4r4wrLXK8cSuQMMTXNrmmitWg1USfaeKs1ioEkY1LqsqaPOEST/IZ4dt2xczcyTgGXlk6u2v54PFSjHGHmIBrUzZC3R5EqyzupuVkkWsYDPYwOA0ji2g2kiCkR31mXanfSLmVTNM7EsMlKi1xA5piQLuUYcfluagTP9VCJoCZCIvGYI+zNX/km/t41JPB84jDtdz9n+4ZY49v37QcA3HfnNwAA/+Y//BF+5qd+HAAwN0ssqoOHjuETXyCn7H/xO39IvztAn+v0HTrcFuhXXSZpZI76K5OtSV/Fes+HVioq5yfJtkBLRdKK2PpdMoXVpdDSkecW1Pl+xiRyTsZkrNPxQ42cMpomKb6NuOVpYWUZSyxdrwp0xiobxLBkhIBKxjgtfAvy4WNQ+zlZ48UYE0gggmOiAN80WqYYDqi6XI2B3XuJ/ykcUm2bMlbBISkBVVWDhoXLpKBtkSQxLDffSnSdndmibCDvRXDMo+COjIOHSMV+dnaDqp1r+1ZI0cQy6CL6suPxUEkF4nBYNWLE61HwtmRfs8yi4e8/dJSO89/87h9g+1aKgBecTar7x4/TentqvsCwop/dDEXo3/v3f4jrbyIRtIsvJJOl2bl5XP+FLwAABsvHAQAbN4lm7uqWOQBACAkL0IDYAoSsphTpMy2MQX/QyBnXvN1qpF06nEgT63FMIudkTMY6Hesico7qSrtBpCl6MByj9sI5lcjpVJoxE0t6K83CIUVTXkBYm1Ta/aqCPSOQQmFTDmpQ27cOd4McOXgQDz34CADgtFeQkezTrKfa6fQh9nCiQ1v0HIZHKOrKmq/xEcNaDIH4UBh+7HZ6St9ryznecNNt9Eammr3tbefhqacP8nelUg5AtDIVKYvCNS61RFMxv1jCT9UYTHEPphTix1UFx6a/H/34xwEADz/2EN7/158EAPzyL1En0dnnEXJ93XWfxT3foDLIDGsTN6HB7bfRft9x+50AgJXhCLGm9fUG1h9O0sBxVVdMepHrCB3yGV2HtiLj2mpKTMtnWMkueGOLhxbwQhnr4uH8s//0BbzzJy4HAKwwV7VqGiW8S6obYBJROzAAwjmbzQKClztfoHirvUJt/qVozkh3ujyQvvHaxuM5L5rq9fH5L5D27huvIqZQySylTl7gBMvs5x1KTe+8++u47gMfAQD8xI//FADgnLP3QrTtBPSZYk9OYzJUrL6QZcJbdfj4Z6lxfNcWYt9cfdWVyPUBlDY14YN2UeQ9Pj46pnu//RAeeICsK668gqwM5rhB2NpMH2KpmXZ6Xdz9LarjfprtEKY6EV/43OcAACe5pevcfWRvcf31n8fySTIHyoXLbAMyfmqElD87lSO39FCq1quoL1iDIEwpn0pA+kwKp9WYVELTh1hebdL7bT2lg4MreKGPSVo7GZOxTse6iJwAsDKg6DEUFfZokmIaz+518MpsSVIdDLp4gyyXdLZVCJcSTRA+akAzlpYhJgtUqWlZldxCYiV94EOfAgC88x1vo99FAhI+8pG/wac+S/pD7/jviCf8+OMP4PrP3QgA2LN7HwDgspfuw6P7iRUj5jk9ds6OsYYTlXG2sPt3//aP8YEPUfT6d//qXwIABsMhciYH1AIccXN2kZcYrBDYMs+Wel//xj24+YabAAD/8MffAQA4evxoOi88Mm3nyvCHf/gnAIAn9z8OAJgTH00AN938RQDAnVw2GY0H6PekYE8vNjp1dxZZjiYEBE7hcyYCZEzYMIiwUtZgOZTQ1g9qKfglTV8asQUWrTy9fsofz+WYRM7JmIx1OtZN5Ky9NA7T3Fj5oEJMKgXiK9RM72MfGbBXLLLglMYlZrjOWeXeCqjk6wT66Cv/rakaBWUq5ti6zCpI9Yvv/ucAgANPPUb7PK5QTlFZ4C/eR502K0vLuma6/kaKXJddug/9Ln3H3l3kSj0Wk1YPREvH/pd/QzS4/+dDnyIVOgAHnqKIOzM7i8WTtO6rGR3x2skT0OXSy9IyRccHH/pb9MSTZJkiveHLXZYdJTSIafFHPvhhfP12otXNTLNniveQrpiZKfpdCATuOJs0arXzB0DGUbJui24J5sP7K1aQDib150qUpB2l/RVeLxI4tHDg+ee0rpexbh7O6z/B5kDXEOBQVQ2GI9FdSQRyIdDWDV9MIVi7VMuScqBv23pz17sfNyr+W3NaW4mlQ5WEktV1u2kwM0s35rHjhNKK6U620SHjG244pG1unJtDw8Ttb9xJKn/v/rXfwS/895Rann8+OaB1uyIW3cPnbqTa4H/5iw/S9xw9jJz1eT71WeKj/uqv/qKir5733zSshbRhk8qCvv9D5Mb1/g/fgKuuILv5hx4lgvq55+4FACycWMDGTfT+A0xe//jHPomcz63j1NK32FRqgqRNyUmVIj10qancycQKA6Pi08JoEga+VWMqYXqRyVJq/QKAI498f03LL9QxSWsnYzLW6Vg3kVOGlAe8R8syUEojRsEHI/mYRNUsvU/0f4xNsHzgyFnXXoGmupLOENEyii1bg9QZoRId4ljNETdUFRrlf9I3DQcDyJzX7VLEfej+b+Oub1KZIryL0uD7H6CI9cd/+vv4i7/6rwAAm1EqPd0vVS/2wYeoxvrpT92EN15NpZx+ly6beJ8eWVzA33yCAJs/+D//iPdnEX97D0Xuv3w/lXbe+9v/FAAwv3kbji1QqeH/+N//AABw261fxfxG9v/UObtJbVWiVKclmKjvk9KIRaPAWxJ6Nqm2K/VLKWshPkOR79D+w5gMGpPIORmTsU6HWWuis+qP5ru4ez6P4+JXnoERlzwqbmgOIanYSUeGqHFnWaEqb6JxamGVSSKK64Nho0DQWCKnyInUPpmt8n5QF8vqHkUBSYxZXfhe+36JKE3t0evSOnXzpr0AgD2nU8njtq99BeMRlQLEVLZuxihY5mN5idavb37Ttfiln38XAODSS88HAHzwowQg/fGfXIcnnnqKjm+FuLjTvR58I+Aabfctb74GAHD5pZfjxluIWHEHv3aLHBImpe/TIJUuVPVQDKSCTz2TAgI1XiNnJRlICAr2SHSUxqIjB184bJ3nc8S4tjuZxrp9OF/0ijPUDUo616um1odsNTBBrBdxVZYH1lqrTdyit1PXHhU/nIIGS/ocGp+a71WrM+h3aeOu0ssCUvLRUm1b877ok5Sn+GEG9YY0yHNxnua0PDPI89XN2cblOG3HGQCAX/6lXwQAvO/9hBB/+/6HgEi1z5JroU3jNZ2sVQ2A/t9zPQRmXU2zG1eZFwrUVAw45Xmmk5W6dcuyo8VXVwc33+hEJ+yuGIHFY+ubYP7DHqd6OCdp7WRMxjod6zZy7nvlGQrUqAS/96ialFYByTDHRGjwSi7TqdlaQJ3go5LhZZZXJpJPsiMaLS2eETkTITtCxIlUgyaEJJ6cfCS0RCMNUZIKOudapQWu/2W2RZDnlLAAxqPVXpO1Z63X2SlVHNSU2hptpZI0koMxnM0gyr6l6/N+Nyk6+tXlEyBFcHXrhoHaPYgeUtPg0MH//9Qhn6sxiZyTMRkvsLFuIycAnPNy6sjQyNlEXS+KSJfC80gzeOLWJvsCrxE3JA9Q1S9NQlna7aARLqh6XfquNKeZNfObDz5FxygdNO0uCv5cK/pK1FXjHotnRE5jDQxnCQJMSUO29z4pnq1Z79J30vszmxT6SmnEFmdrmFbbVnpN3TzpGtBeQ60lDhz43i0GJuOZYxI5J2MyXmBj3ZEQ2sNoVwL9v2VlAokMQXsak/yE0Pa8T4240oESY9TIJjQxWSOG6JMRz5oIyr/k1xRJI9ZEG1g1BW5HS5Fa0W6amLalWmUtLxSrvxSyhdXIKnOq0A7b5wqrvEFWC4LJure0Fo1IRbI1XWZcWreuOmb9BgDA/iePfYe/TcbzMdb1wyk4iWgA+xCe2fUu0D6SCpumwS390uR0bNKDIlm7pq1RG5mTzXoE1jzMyRKg1fjc2n7q0ufjiK16oWrmth4cqZ8Ki9+a9P52xtM6ViABX4BZpbdK+5HOlSoKao04Q5bJgy02DsmPUsZDj0zYOj/MMUlrJ2My1ul4VkBoMiZjMn54YxI5J2My1umYPJyTMRnrdEwezsmYjHU6Jg/nZEzGOh2Th3MyJmOdjsnDH4pKYwAAAAxJREFUORmTsU7H/wsrDp05I/pljQAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "rot_ds = images_ds.map(tf_random_rotate_image)\n",
    "\n",
    "for image, label in rot_ds.take(2):\n",
    "  show(image, label)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "colab_type": "text",
    "id": "ykx59-cMBwOT"
   },
   "source": [
    "### Parsing `tf.Example` protocol buffer messages\n",
    "\n",
    "Many input pipelines extract `tf.train.Example` protocol buffer messages from a\n",
    "TFRecord format. Each `tf.train.Example` record contains one or more \"features\",\n",
    "and the input pipeline typically converts these features into tensors."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 86,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "id": "6wnE134b32KY"
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<TFRecordDatasetV2 shapes: (), types: tf.string>"
      ]
     },
     "execution_count": 86,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "fsns_test_file = tf.keras.utils.get_file(\"fsns.tfrec\", \"https://storage.googleapis.com/download.tensorflow.org/data/fsns-20160927/testdata/fsns-00000-of-00001\")\n",
    "dataset = tf.data.TFRecordDataset(filenames = [fsns_test_file])\n",
    "dataset"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "colab_type": "text",
    "id": "HGypdgYOlXZz"
   },
   "source": [
    "You can work with `tf.train.Example` protos outside of a `tf.data.Dataset` to understand the data:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 87,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "id": "4znsVNqnF73C"
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "raw_example = next(iter(dataset))\n",
    "parsed = tf.train.Example.FromString(raw_example.numpy())\n",
    "\n",
    "feature = parsed.features.feature\n",
    "raw_img = feature['image/encoded'].bytes_list.value[0]\n",
    "img = tf.image.decode_png(raw_img)\n",
    "plt.imshow(img)\n",
    "plt.axis('off')\n",
    "_ = plt.title(feature[\"image/text\"].bytes_list.value[0])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 88,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "collapsed": true,
    "id": "cwzqp8IGC_vQ"
   },
   "outputs": [],
   "source": [
    "raw_example = next(iter(dataset))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 89,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "collapsed": true,
    "id": "y2X1dQNfC8Lu"
   },
   "outputs": [],
   "source": [
    "def tf_parse(eg):\n",
    "  example = tf.io.parse_example(\n",
    "      eg[tf.newaxis], {\n",
    "          'image/encoded': tf.io.FixedLenFeature(shape=(), dtype=tf.string),\n",
    "          'image/text': tf.io.FixedLenFeature(shape=(), dtype=tf.string)\n",
    "      })\n",
    "  return example['image/encoded'][0], example['image/text'][0]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 90,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "id": "lGJhKDp_61A_"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "b'Rue Perreyon'\n",
      "b'\\x89PNG\\r\\n\\x1a\\n\\x00\\x00\\x00\\rIHDR\\x00\\x00\\x02X' ...\n"
     ]
    }
   ],
   "source": [
    "img, txt = tf_parse(raw_example)\n",
    "print(txt.numpy())\n",
    "print(repr(img.numpy()[:20]), \"...\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 91,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "id": "8vFIUFzD5qIC"
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<MapDataset shapes: ((), ()), types: (tf.string, tf.string)>"
      ]
     },
     "execution_count": 91,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "decoded = dataset.map(tf_parse)\n",
    "decoded"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 92,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "id": "vRYNYkEej7Ix"
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "TensorShape([10])"
      ]
     },
     "execution_count": 92,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "image_batch, text_batch = next(iter(decoded.batch(10)))\n",
    "image_batch.shape"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "colab_type": "text",
    "id": "ry1n0UBeczit"
   },
   "source": [
    "<a id=\"time_series_windowing\"></a>\n",
    "\n",
    "### Time series windowing"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "colab_type": "text",
    "id": "t0JMgvXEz9y1"
   },
   "source": [
    "For an end to end time series example see: [Time series forecasting](../../tutorials/text/time_series.ipynb)."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "colab_type": "text",
    "id": "hzBABBkAkkVJ"
   },
   "source": [
    "Time series data is often organized with the time axis intact.\n",
    "\n",
    "Use a simple `Dataset.range` to demonstrate:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 85,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "collapsed": true,
    "id": "kTQgo49skjuY"
   },
   "outputs": [],
   "source": [
    "range_ds = tf.data.Dataset.range(100000)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "colab_type": "text",
    "id": "o6GLGhxgpazJ"
   },
   "source": [
    "Typically, models based on this sort of data will want a contiguous time slice. \n",
    "\n",
    "The simplest approach would be to batch the data:"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "colab_type": "text",
    "id": "ETqB7QvTCNty"
   },
   "source": [
    "#### Using `batch`"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 86,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "id": "pSs9XqwQpvIN"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[0 1 2 3 4 5 6 7 8 9]\n",
      "[10 11 12 13 14 15 16 17 18 19]\n",
      "[20 21 22 23 24 25 26 27 28 29]\n",
      "[30 31 32 33 34 35 36 37 38 39]\n",
      "[40 41 42 43 44 45 46 47 48 49]\n"
     ]
    }
   ],
   "source": [
    "batches = range_ds.batch(10, drop_remainder=True)\n",
    "\n",
    "for batch in batches.take(5):\n",
    "  print(batch.numpy())"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "colab_type": "text",
    "id": "mgb2qikEtk5W"
   },
   "source": [
    "Or to make dense predictions one step into the future, you might shift the features and labels by one step relative to each other:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 87,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "id": "47XfwPhetkIN"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[0 1 2 3 4 5 6 7 8]  =>  [1 2 3 4 5 6 7 8 9]\n",
      "[10 11 12 13 14 15 16 17 18]  =>  [11 12 13 14 15 16 17 18 19]\n",
      "[20 21 22 23 24 25 26 27 28]  =>  [21 22 23 24 25 26 27 28 29]\n"
     ]
    }
   ],
   "source": [
    "def dense_1_step(batch):\n",
    "  # Shift features and labels one step relative to each other.\n",
    "  return batch[:-1], batch[1:]\n",
    "\n",
    "predict_dense_1_step = batches.map(dense_1_step)\n",
    "\n",
    "for features, label in predict_dense_1_step.take(3):\n",
    "  print(features.numpy(), \" => \", label.numpy())"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "colab_type": "text",
    "id": "DjsXuINKqsS_"
   },
   "source": [
    "To predict a whole window instead of a fixed offset you can split the batches into two parts:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 88,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "id": "FMmkQB1Gqo6x"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[0 1 2 3 4 5 6 7 8 9]  =>  [10 11 12 13 14]\n",
      "[15 16 17 18 19 20 21 22 23 24]  =>  [25 26 27 28 29]\n",
      "[30 31 32 33 34 35 36 37 38 39]  =>  [40 41 42 43 44]\n"
     ]
    }
   ],
   "source": [
    "batches = range_ds.batch(15, drop_remainder=True)\n",
    "\n",
    "def label_next_5_steps(batch):\n",
    "  return (batch[:-5],   # Take the first 5 steps\n",
    "          batch[-5:])   # take the remainder\n",
    "\n",
    "predict_5_steps = batches.map(label_next_5_steps)\n",
    "\n",
    "for features, label in predict_5_steps.take(3):\n",
    "  print(features.numpy(), \" => \", label.numpy())"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "colab_type": "text",
    "id": "5a611Qr3jlhl"
   },
   "source": [
    "To allow some overlap between the features of one batch and the labels of another, use `Dataset.zip`:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 89,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "id": "11dF3wyFjk2J"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[0 1 2 3 4 5 6 7 8 9]  =>  [10 11 12 13 14]\n",
      "[10 11 12 13 14 15 16 17 18 19]  =>  [20 21 22 23 24]\n",
      "[20 21 22 23 24 25 26 27 28 29]  =>  [30 31 32 33 34]\n"
     ]
    }
   ],
   "source": [
    "feature_length = 10\n",
    "label_length = 5\n",
    "\n",
    "features = range_ds.batch(feature_length, drop_remainder=True)\n",
    "labels = range_ds.batch(feature_length).skip(1).map(lambda labels: labels[:-5])\n",
    "\n",
    "predict_5_steps = tf.data.Dataset.zip((features, labels))\n",
    "\n",
    "for features, label in predict_5_steps.take(3):\n",
    "  print(features.numpy(), \" => \", label.numpy())"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "colab_type": "text",
    "id": "adew3o2mCURC"
   },
   "source": [
    "#### Using `window`"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "colab_type": "text",
    "id": "fF6pEdlduq8E"
   },
   "source": [
    "While using `Dataset.batch` works, there are situations where you may need finer control. The `Dataset.window` method gives you complete control, but requires some care: it returns a `Dataset` of `Datasets`. See [Dataset structure](#dataset_structure) for details."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 90,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "id": "ZEI2W_EBw2OX"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<_VariantDataset shapes: (), types: tf.int64>\n",
      "<_VariantDataset shapes: (), types: tf.int64>\n",
      "<_VariantDataset shapes: (), types: tf.int64>\n",
      "<_VariantDataset shapes: (), types: tf.int64>\n",
      "<_VariantDataset shapes: (), types: tf.int64>\n"
     ]
    }
   ],
   "source": [
    "window_size = 5\n",
    "\n",
    "windows = range_ds.window(window_size, shift=1)\n",
    "for sub_ds in windows.take(5):\n",
    "  print(sub_ds)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "colab_type": "text",
    "id": "r82hWdk4x-46"
   },
   "source": [
    "The `Dataset.flat_map` method can take a dataset of datasets and flatten it into a single dataset:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 91,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "id": "SB8AI03mnF8u"
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "WARNING:tensorflow:Entity <function <lambda> at 0x1505822f0> could not be transformed and will be executed as-is. Please report this to the AutoGraph team. When filing the bug, set the verbosity to 10 (on Linux, `export AUTOGRAPH_VERBOSITY=10`) and attach the full output. Cause: Failed to parse source code of <function <lambda> at 0x1505822f0>, which Python reported as:\n",
      "for x in windows.flat_map(lambda x: x).take(30):\n",
      "\n",
      "If this is a lambda function, the error may be avoided by creating the lambda in a standalone statement.\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "WARNING: Entity <function <lambda> at 0x1505822f0> could not be transformed and will be executed as-is. Please report this to the AutoGraph team. When filing the bug, set the verbosity to 10 (on Linux, `export AUTOGRAPH_VERBOSITY=10`) and attach the full output. Cause: Failed to parse source code of <function <lambda> at 0x1505822f0>, which Python reported as:\n",
      "for x in windows.flat_map(lambda x: x).take(30):\n",
      "\n",
      "If this is a lambda function, the error may be avoided by creating the lambda in a standalone statement.\n",
      "0 1 2 3 4 1 2 3 4 5 2 3 4 5 6 3 4 5 6 7 4 5 6 7 8 5 6 7 8 9 "
     ]
    }
   ],
   "source": [
    " for x in windows.flat_map(lambda x: x).take(30):\n",
    "   print(x.numpy(), end=' ')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "colab_type": "text",
    "id": "sgLIwq9Anc34"
   },
   "source": [
    "In nearly all cases, you will want to `.batch` the dataset first:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 92,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "id": "5j_y84rmyVQa"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[0 1 2 3 4]\n",
      "[1 2 3 4 5]\n",
      "[2 3 4 5 6]\n",
      "[3 4 5 6 7]\n",
      "[4 5 6 7 8]\n"
     ]
    }
   ],
   "source": [
    "def sub_to_batch(sub):\n",
    "  return sub.batch(window_size, drop_remainder=True)\n",
    "\n",
    "for example in windows.flat_map(sub_to_batch).take(5):\n",
    "  print(example.numpy())"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "colab_type": "text",
    "id": "hVugrmND3Grp"
   },
   "source": [
    "Now, you can see that the `shift` argument controls how much each window moves over.\n",
    "\n",
    "Putting this together you might write this function:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 93,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "collapsed": true,
    "id": "LdFRv_0D4FqW"
   },
   "outputs": [],
   "source": [
    "def make_window_dataset(ds, window_size=5, shift=1, stride=1):\n",
    "  windows = ds.window(window_size, shift=shift, stride=stride)\n",
    "\n",
    "  def sub_to_batch(sub):\n",
    "    return sub.batch(window_size, drop_remainder=True)\n",
    "\n",
    "  windows = windows.flat_map(sub_to_batch)\n",
    "  return windows\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 94,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "id": "-iVxcVfEdf5b"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[ 0  3  6  9 12 15 18 21 24 27]\n",
      "[ 5  8 11 14 17 20 23 26 29 32]\n",
      "[10 13 16 19 22 25 28 31 34 37]\n",
      "[15 18 21 24 27 30 33 36 39 42]\n",
      "[20 23 26 29 32 35 38 41 44 47]\n",
      "[25 28 31 34 37 40 43 46 49 52]\n",
      "[30 33 36 39 42 45 48 51 54 57]\n",
      "[35 38 41 44 47 50 53 56 59 62]\n",
      "[40 43 46 49 52 55 58 61 64 67]\n",
      "[45 48 51 54 57 60 63 66 69 72]\n"
     ]
    }
   ],
   "source": [
    "ds = make_window_dataset(range_ds, window_size=10, shift = 5, stride=3)\n",
    "\n",
    "for example in ds.take(10):\n",
    "  print(example.numpy())"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "colab_type": "text",
    "id": "fMGMTPQ4w8pr"
   },
   "source": [
    "Then it's easy to extract labels, as before:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 95,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "id": "F0fPfZkZw6j_"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[ 0  3  6  9 12 15 18 21 24] => [ 3  6  9 12 15 18 21 24 27]\n",
      "[ 5  8 11 14 17 20 23 26 29] => [ 8 11 14 17 20 23 26 29 32]\n",
      "[10 13 16 19 22 25 28 31 34] => [13 16 19 22 25 28 31 34 37]\n"
     ]
    }
   ],
   "source": [
    "dense_labels_ds = ds.map(dense_1_step)\n",
    "\n",
    "for inputs,labels in dense_labels_ds.take(3):\n",
    "  print(inputs.numpy(), \"=>\", labels.numpy())"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "colab_type": "text",
    "id": "vyi_-ft0kvy4"
   },
   "source": [
    "### Resampling\n",
    "\n",
    "When working with a dataset that is very class-imbalanced, you may want to resample the dataset. `tf.data` provides two methods to do this. The credit card fraud dataset is a good example of this sort of problem.\n",
    "\n",
    "Note: See [Imbalanced Data](../tutorials/keras/imbalanced_data.ipynb) for a full tutorial.\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 104,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "id": "U2e8dxVUlFHO"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Downloading data from https://storage.googleapis.com/download.tensorflow.org/data/creditcard.zip\n",
      "69156864/69155632 [==============================] - 2s 0us/step\n"
     ]
    }
   ],
   "source": [
    "zip_path = tf.keras.utils.get_file(\n",
    "    origin='https://storage.googleapis.com/download.tensorflow.org/data/creditcard.zip',\n",
    "    fname='creditcard.zip',\n",
    "    extract=True)\n",
    "\n",
    "csv_path = zip_path.replace('.zip', '.csv')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 105,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "collapsed": true,
    "id": "EhkkM4Wx75S_"
   },
   "outputs": [],
   "source": [
    "creditcard_ds = tf.data.experimental.make_csv_dataset(\n",
    "    csv_path, batch_size=1024, label_name=\"Class\",\n",
    "    # Set the column types: 30 floats and an int.\n",
    "    column_defaults=[float()]*30+[int()])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "colab_type": "text",
    "id": "A8O47EmHlxYX"
   },
   "source": [
    "Now, check the distribution of classes, it is highly skewed:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 106,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "collapsed": true,
    "id": "a8-Ss69XlzXD"
   },
   "outputs": [],
   "source": [
    "def count(counts, batch):\n",
    "  features, labels = batch\n",
    "  class_1 = labels == 1\n",
    "  class_1 = tf.cast(class_1, tf.int32)\n",
    "\n",
    "  class_0 = labels == 0\n",
    "  class_0 = tf.cast(class_0, tf.int32)\n",
    "\n",
    "  counts['class_0'] += tf.reduce_sum(class_0)\n",
    "  counts['class_1'] += tf.reduce_sum(class_1)\n",
    "\n",
    "  return counts"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 107,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "id": "O1a3t_B4l_f6"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[0.9955 0.0045]\n"
     ]
    }
   ],
   "source": [
    "counts = creditcard_ds.take(10).reduce(\n",
    "    initial_state={'class_0': 0, 'class_1': 0},\n",
    "    reduce_func = count)\n",
    "\n",
    "counts = np.array([counts['class_0'].numpy(),\n",
    "                   counts['class_1'].numpy()]).astype(np.float32)\n",
    "\n",
    "fractions = counts/counts.sum()\n",
    "print(fractions)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "colab_type": "text",
    "id": "z1b8lFhSnDdv"
   },
   "source": [
    "A common approach to training with an imbalanced dataset is to balance it. `tf.data` includes a few methods which enable this workflow:"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "colab_type": "text",
    "id": "y8jQWsgMnjQG"
   },
   "source": [
    "#### Datasets sampling"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "colab_type": "text",
    "id": "ov14SRrQyQE3"
   },
   "source": [
    "One approach to resampling a dataset is to use `sample_from_datasets`. This is more applicable when you have a separate `data.Dataset` for each class.\n",
    "\n",
    "Here, just use filter to generate them from the credit card fraud data:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 108,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "id": "6YKfCPa-nioA"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "WARNING:tensorflow:Entity <function <lambda> at 0x7fd0747437b8> could not be transformed and will be executed as-is. Please report this to the AutoGraph team. When filing the bug, set the verbosity to 10 (on Linux, `export AUTOGRAPH_VERBOSITY=10`) and attach the full output. Cause: expected exactly one node node, found []\n",
      "WARNING: Entity <function <lambda> at 0x7fd0747437b8> could not be transformed and will be executed as-is. Please report this to the AutoGraph team. When filing the bug, set the verbosity to 10 (on Linux, `export AUTOGRAPH_VERBOSITY=10`) and attach the full output. Cause: expected exactly one node node, found []\n",
      "WARNING:tensorflow:Entity <function <lambda> at 0x7fd074604598> could not be transformed and will be executed as-is. Please report this to the AutoGraph team. When filing the bug, set the verbosity to 10 (on Linux, `export AUTOGRAPH_VERBOSITY=10`) and attach the full output. Cause: expected exactly one node node, found []\n",
      "WARNING: Entity <function <lambda> at 0x7fd074604598> could not be transformed and will be executed as-is. Please report this to the AutoGraph team. When filing the bug, set the verbosity to 10 (on Linux, `export AUTOGRAPH_VERBOSITY=10`) and attach the full output. Cause: expected exactly one node node, found []\n"
     ]
    }
   ],
   "source": [
    "negative_ds = (\n",
    "  creditcard_ds\n",
    "    .unbatch()\n",
    "    .filter(lambda features, label: label==0)\n",
    "    .repeat())\n",
    "positive_ds = (\n",
    "  creditcard_ds\n",
    "    .unbatch()\n",
    "    .filter(lambda features, label: label==1)\n",
    "    .repeat())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 109,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "id": "8FNd3sQjzl9-"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[1 1 1 1 1 1 1 1 1 1]\n"
     ]
    }
   ],
   "source": [
    "for features, label in positive_ds.batch(10).take(1):\n",
    "  print(label.numpy())"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "colab_type": "text",
    "id": "GxLAr-7p0ATX"
   },
   "source": [
    "To use `tf.data.experimental.sample_from_datasets` pass the datasets, and the weight for each:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 110,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "collapsed": true,
    "id": "vjdPVIFCngOb"
   },
   "outputs": [],
   "source": [
    "balanced_ds = tf.data.experimental.sample_from_datasets(\n",
    "    [negative_ds, positive_ds], [0.5, 0.5]).batch(10)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "colab_type": "text",
    "id": "2K4ObOms082B"
   },
   "source": [
    "Now the dataset produces examples of each class with 50/50 probability:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 111,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "id": "Myvkw21Rz-fH"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[1 0 0 1 1 1 1 0 0 0]\n",
      "[0 1 0 0 1 0 0 0 0 0]\n",
      "[1 1 1 0 0 0 0 1 0 0]\n",
      "[0 1 1 1 1 0 0 1 0 0]\n",
      "[0 1 0 0 0 1 0 0 0 0]\n",
      "[0 0 0 0 0 0 0 0 0 0]\n",
      "[0 1 0 1 0 0 1 0 0 0]\n",
      "[0 0 0 0 1 0 0 1 0 0]\n",
      "[1 0 1 0 0 0 0 0 0 0]\n",
      "[0 0 0 0 0 0 0 1 1 1]\n"
     ]
    }
   ],
   "source": [
    "for features, labels in balanced_ds.take(10):\n",
    "  print(labels.numpy())"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "colab_type": "text",
    "id": "OUTE3eb9nckY"
   },
   "source": [
    "#### Rejection resampling"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "colab_type": "text",
    "id": "kZ9ezkK6irMD"
   },
   "source": [
    "One problem with the above `experimental.sample_from_datasets` approach is that\n",
    "is that it needs a separate `tf.data.Dataset` per class. Using `Dataset.filter`\n",
    "works, but results in all the data being loaded twice.\n",
    "\n",
    "The `data.experimental.rejection_resample` function can be applied to a dataset to rebalance it, while only loading it once. Elements will be dropped from the dataset to achieve balance.\n",
    "\n",
    "`data.experimental.rejection_resample` takes a `class_func` argument. This `class_func` is applied to each dataset element, and is used to determine which class an example belongs to for the purposes of balancing.\n",
    "\n",
    "The elements of `creditcard_ds` are already `(features, label)` pairs. So the `class_func` just needs to return those labels:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 112,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "collapsed": true,
    "id": "zC_Cuzw8lhI5"
   },
   "outputs": [],
   "source": [
    "def class_func(features, label):\n",
    "  return label"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "colab_type": "text",
    "id": "DdKmE8Jumlp0"
   },
   "source": [
    "The resampler also needs a target distribution, and optionally an initial distribution estimate:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 113,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "collapsed": true,
    "id": "9tv0tWNxmkzM"
   },
   "outputs": [],
   "source": [
    "resampler = tf.data.experimental.rejection_resample(\n",
    "    class_func, target_dist=[0.5, 0.5], initial_dist=fractions)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "colab_type": "text",
    "id": "YxJrOZVToGuE"
   },
   "source": [
    "The resampler deals with individual examples, so you must `unbatch` the dataset before applying the resampler:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 114,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "id": "fY6VIhr3oGHG"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "WARNING:tensorflow:From /tmpfs/src/tf_docs_env/lib/python3.6/site-packages/tensorflow_core/python/data/experimental/ops/resampling.py:151: Print (from tensorflow.python.ops.logging_ops) is deprecated and will be removed after 2018-08-20.\n",
      "Instructions for updating:\n",
      "Use tf.print instead of tf.Print. Note that tf.print returns a no-output operator that directly prints the output. Outside of defuns or eager mode, this operator will not be executed unless it is directly specified in session.run or used as a control dependency for other operators. This is only a concern in graph mode. Below is an example of how to ensure tf.print executes in graph mode:\n",
      "\n"
     ]
    }
   ],
   "source": [
    "resample_ds = creditcard_ds.unbatch().apply(resampler).batch(10)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "colab_type": "text",
    "id": "L-HnC1s8idqV"
   },
   "source": [
    "The resampler returns creates `(class, example)` pairs from the output of the `class_func`. In this case, the `example` was already a `(feature, label)` pair, so use `map` to drop the extra copy of the labels:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 115,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "collapsed": true,
    "id": "KpfCGU6BiaZq"
   },
   "outputs": [],
   "source": [
    "balanced_ds = resample_ds.map(lambda extra_label, features_and_label: features_and_label)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "colab_type": "text",
    "id": "j3d2jyEhx9kD"
   },
   "source": [
    "Now the dataset produces examples of each class with 50/50 probability:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 116,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "id": "XGLYChBQwkDV"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[1 1 0 1 1 0 0 1 1 0]\n",
      "[1 1 0 0 0 1 1 1 0 0]\n",
      "[0 0 1 1 1 1 0 1 1 1]\n",
      "[0 1 0 0 0 0 1 1 0 1]\n",
      "[1 1 0 0 0 1 0 1 1 0]\n",
      "[0 1 1 0 1 1 0 1 1 1]\n",
      "[0 1 1 0 1 0 1 1 1 1]\n",
      "[1 1 0 0 0 0 0 1 1 1]\n",
      "[1 0 0 0 0 0 1 1 1 1]\n",
      "[0 1 0 0 1 0 1 0 0 1]\n"
     ]
    }
   ],
   "source": [
    "for features, labels in balanced_ds.take(10):\n",
    "  print(labels.numpy())"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "colab_type": "text",
    "id": "uLRdedPpbDdD"
   },
   "source": [
    "## Using high-level APIs\n",
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "colab_type": "text",
    "id": "JTQe8daMcgFz"
   },
   "source": [
    "### tf.keras\n",
    "\n",
    "The `tf.keras` API simplifies many aspects of creating and executing machine\n",
    "learning models. Its `.fit()` and `.evaluate()` and `.predict()` APIs support datasets as inputs. Here is a quick dataset and model setup:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 117,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "collapsed": true,
    "id": "-bfjqm0hOfES"
   },
   "outputs": [],
   "source": [
    "train, test = tf.keras.datasets.fashion_mnist.load_data()\n",
    "\n",
    "images, labels = train\n",
    "images = images/255.0\n",
    "labels = labels.astype(np.int32)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 118,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "collapsed": true,
    "id": "wDhF3rGnbDdD"
   },
   "outputs": [],
   "source": [
    "fmnist_train_ds = tf.data.Dataset.from_tensor_slices((images, labels))\n",
    "fmnist_train_ds = fmnist_train_ds.shuffle(5000).batch(32)\n",
    "\n",
    "model = tf.keras.Sequential([\n",
    "  tf.keras.layers.Flatten(),\n",
    "  tf.keras.layers.Dense(10, activation='softmax')\n",
    "])\n",
    "\n",
    "model.compile(optimizer='adam',\n",
    "              loss=tf.keras.losses.SparseCategoricalCrossentropy(), \n",
    "              metrics=['accuracy'])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "colab_type": "text",
    "id": "Rdogg8CfHs-G"
   },
   "source": [
    " Passing a dataset of `(feature, label)` pairs is all that's needed for `Model.fit` and `Model.evaluate`:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 119,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "id": "9cu4kPzOHnlt"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "WARNING:tensorflow:Layer sequential is casting an input tensor from dtype float64 to the layer's dtype of float32, which is new behavior in TensorFlow 2.  The layer has dtype float32 because it's dtype defaults to floatx.\n",
      "\n",
      "If you intended to run this layer in float32, you can safely ignore this warning. If in doubt, this warning is likely only an issue if you are porting a TensorFlow 1.X model to TensorFlow 2.\n",
      "\n",
      "To change all layers to have dtype float64 by default, call `tf.keras.backend.set_floatx('float64')`. To change just this layer, pass dtype='float64' to the layer constructor. If you are the author of this layer, you can disable autocasting by passing autocast=False to the base Layer constructor.\n",
      "\n",
      "Epoch 1/2\n",
      "1875/1875 [==============================] - 6s 3ms/step - loss: 0.6054 - accuracy: 0.7944\n",
      "Epoch 2/2\n",
      "1875/1875 [==============================] - 5s 2ms/step - loss: 0.4616 - accuracy: 0.8429\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<tensorflow.python.keras.callbacks.History at 0x7fd0743fc400>"
      ]
     },
     "execution_count": 119,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "model.fit(fmnist_train_ds, epochs=2)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "colab_type": "text",
    "id": "FzpAQfJMJF41"
   },
   "source": [
    "If you pass an infinite dataset, for example by calling `Dataset.repeat()`, you just need to also pass the `steps_per_epoch` argument:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 120,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "id": "Bp1BpzlyJinb"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Train for 20 steps\n",
      "Epoch 1/2\n",
      "20/20 [==============================] - 0s 18ms/step - loss: 0.4281 - accuracy: 0.8609\n",
      "Epoch 2/2\n",
      "20/20 [==============================] - 0s 2ms/step - loss: 0.4131 - accuracy: 0.8703\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<tensorflow.python.keras.callbacks.History at 0x7fd090092128>"
      ]
     },
     "execution_count": 120,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "model.fit(fmnist_train_ds.repeat(), epochs=2, steps_per_epoch=20)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "colab_type": "text",
    "id": "iTLsw_nqJpTw"
   },
   "source": [
    "For evaluation you can pass the number of evaluation steps:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 121,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "id": "TnlRHlaL-XUI"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "1875/1875 [==============================] - 4s 2ms/step - loss: 0.4363 - accuracy: 0.8501\n",
      "Loss : 0.4362662051320076\n",
      "Accuracy : 0.85008335\n"
     ]
    }
   ],
   "source": [
    "loss, accuracy = model.evaluate(fmnist_train_ds)\n",
    "print(\"Loss :\", loss)\n",
    "print(\"Accuracy :\", accuracy)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "colab_type": "text",
    "id": "C8UBU3CJKEA4"
   },
   "source": [
    "For long datasets, set the number of steps to evaluate:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 122,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "id": "uVgamf9HKDon"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "10/10 [==============================] - 0s 4ms/step - loss: 0.4099 - accuracy: 0.8750\n",
      "Loss : 0.4099284529685974\n",
      "Accuracy : 0.875\n"
     ]
    }
   ],
   "source": [
    "loss, accuracy = model.evaluate(fmnist_train_ds.repeat(), steps=10)\n",
    "print(\"Loss :\", loss)\n",
    "print(\"Accuracy :\", accuracy)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "colab_type": "text",
    "id": "aZYhJ_YSIl6w"
   },
   "source": [
    "The labels are not required in when calling `Model.predict`. "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 123,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "id": "343lXJ-pIqWD"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(320, 10)\n"
     ]
    }
   ],
   "source": [
    "predict_ds = tf.data.Dataset.from_tensor_slices(images).batch(32)\n",
    "result = model.predict(predict_ds, steps = 10)\n",
    "print(result.shape)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "colab_type": "text",
    "id": "YfzZORwLI202"
   },
   "source": [
    "But the labels are ignored if you do pass a dataset containing them:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 124,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "id": "mgQJTPrT-2WF"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(320, 10)\n"
     ]
    }
   ],
   "source": [
    "result = model.predict(fmnist_train_ds, steps = 10)\n",
    "print(result.shape)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "colab_type": "text",
    "id": "azNurSOubDdF"
   },
   "source": [
    "### tf.estimator\n",
    "\n",
    "To use a `Dataset` in the `input_fn` of a `tf.estimator.Estimator`, simply\n",
    "return the `Dataset` from the `input_fn` and the framework will take care of consuming its elements\n",
    "for you. For example:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 125,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "collapsed": true,
    "id": "e3RTyqhLbDdG"
   },
   "outputs": [],
   "source": [
    "import tensorflow_datasets as tfds\n",
    "\n",
    "def train_input_fn():\n",
    "  titanic = tf.data.experimental.make_csv_dataset(\n",
    "      titanic_file, batch_size=32,\n",
    "      label_name=\"survived\")\n",
    "  titanic_batches = (\n",
    "      titanic.cache().repeat().shuffle(500)\n",
    "      .prefetch(tf.data.experimental.AUTOTUNE))\n",
    "  return titanic_batches"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 126,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "collapsed": true,
    "id": "qJGw6gntBHFU"
   },
   "outputs": [],
   "source": [
    "embark = tf.feature_column.categorical_column_with_hash_bucket('embark_town', 32)\n",
    "cls = tf.feature_column.categorical_column_with_vocabulary_list('class', ['First', 'Second', 'Third']) \n",
    "age = tf.feature_column.numeric_column('age')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 127,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "id": "v18FPnaT1RtK"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "INFO:tensorflow:Using default config.\n",
      "INFO:tensorflow:Using config: {'_model_dir': '/tmp/tmpaaj9jgyb', '_tf_random_seed': None, '_save_summary_steps': 100, '_save_checkpoints_steps': None, '_save_checkpoints_secs': 600, '_session_config': allow_soft_placement: true\n",
      "graph_options {\n",
      "  rewrite_options {\n",
      "    meta_optimizer_iterations: ONE\n",
      "  }\n",
      "}\n",
      ", '_keep_checkpoint_max': 5, '_keep_checkpoint_every_n_hours': 10000, '_log_step_count_steps': 100, '_train_distribute': None, '_device_fn': None, '_protocol': None, '_eval_distribute': None, '_experimental_distribute': None, '_experimental_max_worker_delay_secs': None, '_session_creation_timeout_secs': 7200, '_service': None, '_cluster_spec': <tensorflow.python.training.server_lib.ClusterSpec object at 0x7fd05016ce80>, '_task_type': 'worker', '_task_id': 0, '_global_id_in_cluster': 0, '_master': '', '_evaluation_master': '', '_is_chief': True, '_num_ps_replicas': 0, '_num_worker_replicas': 1}\n"
     ]
    }
   ],
   "source": [
    "import tempfile\n",
    "model_dir = tempfile.mkdtemp()\n",
    "model = tf.estimator.LinearClassifier(\n",
    "    model_dir=model_dir,\n",
    "    feature_columns=[embark, cls, age],\n",
    "    n_classes=2\n",
    ")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 128,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "id": "iGaJKkmVBgo2"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "WARNING:tensorflow:From /tmpfs/src/tf_docs_env/lib/python3.6/site-packages/tensorflow_core/python/ops/resource_variable_ops.py:1630: calling BaseResourceVariable.__init__ (from tensorflow.python.ops.resource_variable_ops) with constraint is deprecated and will be removed in a future version.\n",
      "Instructions for updating:\n",
      "If using Keras pass *_constraint arguments to layers.\n",
      "WARNING:tensorflow:From /tmpfs/src/tf_docs_env/lib/python3.6/site-packages/tensorflow_core/python/training/training_util.py:236: Variable.initialized_value (from tensorflow.python.ops.variables) is deprecated and will be removed in a future version.\n",
      "Instructions for updating:\n",
      "Use Variable.read_value. Variables in 2.X are initialized automatically both in eager and graph (inside tf.defun) contexts.\n",
      "INFO:tensorflow:Calling model_fn.\n",
      "WARNING:tensorflow:From /tmpfs/src/tf_docs_env/lib/python3.6/site-packages/tensorflow_core/python/feature_column/feature_column_v2.py:518: Layer.add_variable (from tensorflow.python.keras.engine.base_layer) is deprecated and will be removed in a future version.\n",
      "Instructions for updating:\n",
      "Please use `layer.add_weight` method instead.\n",
      "WARNING:tensorflow:From /tmpfs/src/tf_docs_env/lib/python3.6/site-packages/tensorflow_estimator/python/estimator/canned/linear.py:308: to_float (from tensorflow.python.ops.math_ops) is deprecated and will be removed in a future version.\n",
      "Instructions for updating:\n",
      "Use `tf.cast` instead.\n",
      "WARNING:tensorflow:From /tmpfs/src/tf_docs_env/lib/python3.6/site-packages/tensorflow_core/python/keras/optimizer_v2/ftrl.py:143: calling Constant.__init__ (from tensorflow.python.ops.init_ops) with dtype is deprecated and will be removed in a future version.\n",
      "Instructions for updating:\n",
      "Call initializer instance with the dtype argument instead of passing it to the constructor\n",
      "INFO:tensorflow:Done calling model_fn.\n",
      "INFO:tensorflow:Create CheckpointSaverHook.\n",
      "INFO:tensorflow:Graph was finalized.\n",
      "INFO:tensorflow:Running local_init_op.\n",
      "INFO:tensorflow:Done running local_init_op.\n",
      "INFO:tensorflow:Saving checkpoints for 0 into /tmp/tmpaaj9jgyb/model.ckpt.\n",
      "INFO:tensorflow:loss = 0.6931472, step = 0\n",
      "INFO:tensorflow:Saving checkpoints for 100 into /tmp/tmpaaj9jgyb/model.ckpt.\n",
      "INFO:tensorflow:Loss for final step: 0.55556.\n"
     ]
    }
   ],
   "source": [
    "model = model.train(input_fn=train_input_fn, steps=100)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 129,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "id": "CXkivCNq0vfH"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "INFO:tensorflow:Calling model_fn.\n",
      "INFO:tensorflow:Done calling model_fn.\n",
      "INFO:tensorflow:Starting evaluation at 2019-11-14T02:22:53Z\n",
      "INFO:tensorflow:Graph was finalized.\n",
      "INFO:tensorflow:Restoring parameters from /tmp/tmpaaj9jgyb/model.ckpt-100\n",
      "INFO:tensorflow:Running local_init_op.\n",
      "INFO:tensorflow:Done running local_init_op.\n",
      "INFO:tensorflow:Evaluation [1/10]\n",
      "INFO:tensorflow:Evaluation [2/10]\n",
      "INFO:tensorflow:Evaluation [3/10]\n",
      "INFO:tensorflow:Evaluation [4/10]\n",
      "INFO:tensorflow:Evaluation [5/10]\n",
      "INFO:tensorflow:Evaluation [6/10]\n",
      "INFO:tensorflow:Evaluation [7/10]\n",
      "INFO:tensorflow:Evaluation [8/10]\n",
      "INFO:tensorflow:Evaluation [9/10]\n",
      "INFO:tensorflow:Evaluation [10/10]\n",
      "INFO:tensorflow:Finished evaluation at 2019-11-14-02:22:54\n",
      "INFO:tensorflow:Saving dict for global step 100: accuracy = 0.703125, accuracy_baseline = 0.584375, auc = 0.7589563, auc_precision_recall = 0.6723181, average_loss = 0.5924618, global_step = 100, label/mean = 0.415625, loss = 0.5924618, precision = 0.7638889, prediction/mean = 0.35414353, recall = 0.41353384\n",
      "INFO:tensorflow:Saving 'checkpoint_path' summary for global step 100: /tmp/tmpaaj9jgyb/model.ckpt-100\n",
      "accuracy : 0.703125\n",
      "accuracy_baseline : 0.584375\n",
      "auc : 0.7589563\n",
      "auc_precision_recall : 0.6723181\n",
      "average_loss : 0.5924618\n",
      "label/mean : 0.415625\n",
      "loss : 0.5924618\n",
      "precision : 0.7638889\n",
      "prediction/mean : 0.35414353\n",
      "recall : 0.41353384\n",
      "global_step : 100\n"
     ]
    }
   ],
   "source": [
    "result = model.evaluate(train_input_fn, steps=10)\n",
    "\n",
    "for key, value in result.items():\n",
    "  print(key, \":\", value)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 130,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "id": "CPLD8n4CLVi_"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "INFO:tensorflow:Calling model_fn.\n",
      "INFO:tensorflow:Done calling model_fn.\n",
      "INFO:tensorflow:Graph was finalized.\n",
      "INFO:tensorflow:Restoring parameters from /tmp/tmpaaj9jgyb/model.ckpt-100\n",
      "INFO:tensorflow:Running local_init_op.\n",
      "INFO:tensorflow:Done running local_init_op.\n",
      "logits : [-1.3411]\n",
      "logistic : [0.2073]\n",
      "probabilities : [0.7927 0.2073]\n",
      "class_ids : [0]\n",
      "classes : [b'0']\n",
      "all_class_ids : [0 1]\n",
      "all_classes : [b'0' b'1']\n"
     ]
    }
   ],
   "source": [
    "for pred in model.predict(train_input_fn):\n",
    "  for key, value in pred.items():\n",
    "    print(key, \":\", value)\n",
    "  break"
   ]
  }
 ],
 "metadata": {
  "colab": {
   "collapsed_sections": [],
   "name": "data.ipynb",
   "private_outputs": true,
   "provenance": [],
   "toc_visible": true
  },
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.4"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 1
}
